Problème d'encodage mail sortant

Problème d'encodage mail sortant

par Sélim MEZITI,
Nombre de réponses : 12

Bonjour tout le monde.

Je rencontre un problème d'encodage lors des mails sortants. Par exemple si je reçois une notification de ma messagerie Moodle par mail, les accents ne sont pas correctement encodés, les émojis et les caractères arabe/asiatiques non plus.

Sur la plateforme, tout est OK, idem en bdd.

J'ai regardé la configuration des mails sortant dans l'administration qui est bien en UTF8, j'ai essayé les deux modes LR et CTLR mais j'ai toujours le même problème.

La configuration : 

Moodle : 3.11+ (Build: 20210709)

bdd : mariadb (5.5.5-10.5.12-MariaDB)

PHP : 7.4.24

encodage de la base en utf8mb4

Hébergement : o2switch.

J'ai d'ailleurs contacté o2switch pour savoir si le problème n'était pas au niveau du serveur, ils ont fait une manip qui n'a pas réglé le problème mais qui a causé un autre (impossibilité d'ajouter une activité dans un cours).

Savez vous comment je peux corriger ce problème ? Y'a t'il un paramètre dans php.ini a configurer pour cela ?

Merci d'avance pour vos retours.

Sélim.

Moyenne des évaluations  -
En réponse à Sélim MEZITI

Re: Problème d'encodage mail sortant

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles
Bonjour Sélim,
Avez-vous vérifié dans phpmyadmin que l'encodage utf8mb4 est bien appliqué avec les deux cases cochées et pas seulement une seule ?
 
codage
Par ailleurs, ce défaut est-il présent sur tous les courrielleurs de tous les ordinateurs, ou seulement le vôtre ?
Chez moi dans Thunderbird l'encodage est unicode.
 
Daniel
En réponse à Daniel Méthot

Re: Problème d'encodage mail sortant

par Sélim MEZITI,

bonjour Daniel et merci pour votre réponse.

L'interclassement de la base est bien utf8mb4_unicode_ci, et j'ai bien coché les deux cases.

Dans mon fichier config.php, j'avais utf8mb4_general_ci, je l'ai changé en utf8mb4_unicode_ci mais j'ai toujours le même problème.

J'ai fait mes tests sur différents client mail (Windows Outlook, Windows Courrier, Gmail), le problème est présent partout.

Auparavant le site Moodle était sur OVH, là on est sur o2switch, je fais les tests sur un environnement de preprod. 

J'ai essayé de re modifier l'interclassement toujours en utf8mb4_unicode_ci en cochant les deux cases et là j'arrive même plus à accéder au site, j'ai un message "Erreur de lecture de la base de données".

Ma question : est ce que c'est vraiment lié à l'encodage de la base de données vu qu'il s'agit d'un envoi de mail (mail sortant de Moodle) ?

Si quelqu'un a déjà eu ce problème ou a des pistes ça m'aiderait beaucoup.

Merci.

Sélim.

En réponse à Sélim MEZITI

Re: Problème d'encodage mail sortant

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Bonjour Sélim,

Quand tu dis "Auparavant le site Moodle était sur OVH, là on est sur o2switch, je fais les tests sur un environnement de preprod.", est-ce que cela signifie que le problème ne se pose que sur ton environnement de préproduction sur 02Swith, et pas sur ta plateforme en production chez OVH ?

Dans ce cas, est-ce que tout était correctement configuré sur OVH ?

Comment le transfert de la base de données a-t-il été effectué (ne serait-ce pas à ce moment qu'un mauvais encodage aurait perturbé les données) ?

Séverin
En réponse à Séverin Terrier

Re: Problème d'encodage mail sortant

par Jean-Gabriel DEPINOY,
Avatar Moodleurs particulièrement utiles
Bonjour Sélim,
Je me souviens que quand je suis passé d'OVH à o2switch cet été, certains dysfonctionnements sont apparu. J'ai contacté o2switch qui a réimporté ma BDD récupérée d'OVH et tout est revenu dans l'ordre.
En réponse à Séverin Terrier

Re: Problème d'encodage mail sortant

par Sélim MEZITI,

bonjour Severin,

merci pour votre retour.

Pour être plus précis, sur OVH c'était une version 3.3 avec mysql5.6 et php5.6.

Nous sommes passé sur o2swithc en faisant en même temps une migration vers Moodle 3.11+.

La base de données a été exportée depuis Phpmyadmin côté OVH en faisant un peu de tri car elle était volumineuse.

La migration s'est faite correctement, il n'y a aucun avertisseur, tous les plugins et thème sont à jour et les caractères sont bien enregistrés en base (accents, émojis, symboles, lettres étrangères..).

C'est lors de l'envoi de mail sortant, via les notifications de la messagerie que j'ai ce problème.

Ce problème est présent sur la version de prod et de preprod.

Je fait des tests sur la version de preprod pour essayer de trouver une solution.

J'ai fait tourner le script pour passer à un encodage unicode complet, j'ai vu des tables qui avaient été converties mais j'ai toujours le problème.

Donc arrivé là, je n'ai plus trop d'idées.

j'ai recontacté le support o2switch qui semble ne pas savoir d'où peut venir ce problème.

J'avais lu une de vos discussion au sujet des conversions de tables et colonnes, quand je lance le script qui vérifie l'interclassement, ça m'affiche bien utf8mb4_unicode_ci.

Donc pour moi je ne vois pas de problème au niveau de la base.

Question : dans Phpmyadmin, dans structure de la base, je vois que les tables sont de type inno_db avec un encodage utf8mb4_unicode_ci. 

Comment puis-je savoir si la base a vraiment un problème d'encodage ?

Le problème pourrait venir d'ailleurs ? serveur ? version moodle ?

Merci d'avance pour votre aide

En réponse à Sélim MEZITI

Re: Problème d'encodage mail sortant

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Je me demandais juste si l'exportation avait été faite avec l'encodage correspondant à ce qui existait dans la base OVH, avant d'être ré-importée dans la base O2Switch. Mais ce n'était qu'une idée...
En réponse à Séverin Terrier

Re: Problème d'encodage mail sortant

par Bruno Malaval,
Avatar Moodleurs particulièrement utiles
Bonjour,

Nous venons de rencontrer un problème similaire, je pense que l'origine est la même.
Votre version (build) date du 09/07/2021 , il y a eu un correctif sur l'encodage des mails sortants le 14/07/2021
cf [MDL-72139] , trouvé dans le tracker par mon super collègue Sébastien Mehr 😃

En appliquant simplement le changement proposé dans le patch dans le fichier helper.php, le problème est résolu chez nous

Pas utile de modifier le 2ème fichier, il ne sert qu'aux tests

Bruno
Moyenne des évaluations Utile (1)
En réponse à Bruno Malaval

Re: Problème d'encodage mail sortant

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Bonjour,

Merci Bruno (et Sébastien) pour cette confirmation !

En résumé, la solution est tout simplement de mettre à jour vers les dernières versions correctives actuelles (sorties fin juillet, voire en septembre) sourire

Séverin
En réponse à Séverin Terrier

Re: Problème d'encodage mail sortant

par Sélim MEZITI,

bonjour et merci à tous pour vos réponses.


Un grand merci Bruno (et Sébastien), en appliquant le changement dans le fichier helper.php l'encodage est bien en utf8 et tout s'affiche correctement.

Idéalement il faudrait faire la mise à jour mais on ne peut pas le faire pour le moment.

Excellente fin de journée à tous.

En réponse à Sélim MEZITI

Re: Problème d'encodage mail sortant

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Qu'est-ce qui pose problème pour empêcher d'effectuer une mise à jour corrective mineure, en passant de Moodle 3.11+ (du 9/07/2021) à Moodle 3.11.3 ?

Il n'y a pas particulièrement de risque... il suffit de mettre à jour les fichiers.
En réponse à Séverin Terrier

Re: Problème d'encodage mail sortant

par Sélim MEZITI,

est il possible de faire une mise à jour mineur sans activer le mode maintenance ?

Cela n'impacte pas la base de données ?

merci.