Un de mes utilisateurs a signalé que dans plusieurs cas, les une ou deux dernières lignes de ses publications, effectuées par e-mail, sont manquantes.
Les publications étaient bien en deçà de la limite de caractères et il n’y a pas de mots censurés, des idées sur ce qui pourrait causer cela ? Je ne vois rien dans les journaux à ce sujet.
En regardant les données brutes dans la table incoming_emails, le texte manquant était définitivement dans l’e-mail tel que reçu, il n’a tout simplement pas été intégré à la publication formatée. Il s’agit d’une réponse, pas du début d’un nouveau sujet.
J’ai vu cela se produire lorsque l’analyseur ne pouvait pas décider si les dernières lignes étaient une signature. Ces réponses présentaient-elles une typographie étrange comme celle-ci ? --- ?
Aucun que j’aie vu, mais le champ ‘raw’ dans la table incoming_emails est un peu étrange, tous les mots sont collés les uns aux autres sans espaces ni ponctuation.
Voici un bref extrait :
nolongertalkingtothatneighborHellBienenWeberMark
Ce qui manque, c’est tout ce qui commence par le mot ‘Hell’. Le texte formaté a le point après ‘neighbor’ mais rien après.
Je pense avoir compris ce qui s’est passé, mais pas nécessairement comment l’éviter à l’avenir.
Je capture les e-mails entrants avant de les enregistrer dans la boîte aux lettres lue par le conteneur Discourse, et j’ai le message original en question de cet utilisateur.
L’e-mail a un segment text/plain et un segment text/html.
La dernière ligne (manquante) de son message se trouve dans le segment text/plain mais pas dans le segment text/html, et c’est ce dernier que Discourse utilise pour créer un message.
Donc, quoi qu’il se passe pour que des lignes soient supprimées, il semble que cela se produise avant que ces e-mails n’atteignent mon serveur.