HTML Entities et escape characters dans l'alternative text/plain d'e-mail sortant

Nous avons récemment configuré une instance expérimentale de Discourse et avons remarqué que les messages envoyés aux observateurs contiennent des entités HTML dans la version texte/plain alternative. Cela ressemble à un bug.

L’instance est ici : https://discourse.osgeo.org
Une capture d’écran d’un tel e-mail peut être vue ici : Sandro Santilli 🌍 GIS: "@pmusaraj@mstdn.ca I can tell, and that hurts! @D…" - Mapstodon.Space
L’e-mail complet peut être lu depuis Discourse lui-même ici : PSC Vote: Let's move this list to discourse - #11 by Martin_Spott - SAC mailing list - OSGeo Discourse
Et une autre vue de l’e-mail peut être lue sur l’archive Mailman, qui est la façon dont il est parvenu à Discourse : PSC Vote: Let's move this list to discourse

Le courrier reçu par Mailman pour l’abonné est UNIQUEMENT texte/plain 7bit us-ascii, mais celui reçu via Discourse devient multi-part et a également une version HTML qui est évidemment inventée car l’auteur original n’a pas écrit en HTML.

1 « J'aime »

Billet en aval : Making sure you're not a bot!

2 « J'aime »

Le ticket en amont n’a pas reçu de réponse depuis 4 jours, je soupçonne que ni les développeurs de Discourse ni les promoteurs de Discourse ne se soucient de la communication par e-mail, ce qui fait que la seule solution possible à ce problème est un projet de type « grattez-vous la démangeaison » (« scratch your own itch »).

Nous nous soucions effectivement des communications par e-mail, c’est pourquoi nous avons consacré énormément de travail à l’ajout de la prise en charge des e-mails entrants et sortants dans Discourse. Cela dit, il est extrêmement difficile de tenir compte de tous les cas d’utilisation, car ceux-ci entrent souvent en conflit les uns avec les autres.

Pour tenter de diagnostiquer votre problème et mieux comprendre votre cas d’utilisation, voici comment je comprends les choses :

  • Votre instance est configurée pour recevoir des e-mails entrants d’une liste de diffusion.
  • L’utilisateur « Martin_Spott » a envoyé un e-mail texte/plain à votre liste de diffusion.
  • Discourse a traité l’e-mail, transformant le texte brut en markdown / html à afficher dans Discourse.
  • Vous avez reçu une copie de cet e-mail, car vous suivez ce sujet / cette catégorie sur Discourse.
  • Le contenu de cet e-mail est corrompu.

Ai-je raison ?

2 « J'aime »

Eh bien, ce qui se passe à l’intérieur de Discourse, je ne sais pas, mais ce que j’observe, c’est :

  • Notre instance est configurée pour recevoir des e-mails entrants (de n’importe quoi).
  • trac.osgeo.org envoie des e-mails text/plain à l’adresse e-mail entrante de Discourse, en supposant que des polices à chasse fixe sont utilisées.
  • Discourse fait quelque chose, je ne sais pas.
  • Les utilisateurs de Discourse qui ont choisi de recevoir des notifications par e-mail reçoivent un e-mail multipart contenant une alternative html et text/plain, avec le text/plain ayant des tirets échappés et des entités html.

Maintenant, le problème mentionné ci-dessus (les e-mails trac étant mal formés) semble avoir été résolu pour le moment, mais je ne sais pas par quel événement : Making sure you're not a bot!

Les choses auraient-elles pu changer parce que j’ai activé et désactivé le « Mode Liste de Diffusion » ?

1 « J'aime »

J’en doute. Il est plus probable que ce soit le paramètre du site « Préférer le HTML pour les e-mails entrants ».

Content que ce soit mieux maintenant :raised_hands:

1 « J'aime »

J’ai parlé trop tôt : Making sure you're not a bot!

Suggérez-vous qu’il vaut mieux régler « préférer le courrier électronique entrant en HTML » sur OUI ou NON ?

@robe2 a mentionné que le correctif (temporaire) était probablement dû au fait qu’elle avait décoché la case « La catégorie est un miroir » - espérons que cela donne plus d’informations pour un correctif.

Cependant, j’ai dû recocher la case car cela empêchait le threading et provoquait également le rejet de certains e-mails de notre ticket tracker avec l’erreur de rejet Title has already been used.