Les mails rejetés sont illisibles

Lorsque je consulte /admin/email-logs/rejected de mon site auto-hébergé, je constate que le corps des e-mails rejetés est présenté comme suit :

Le corps correct de l’e-mail commence par 谢谢 en UTF-8 (le corps complet est beaucoup plus long), et le texte endommagé est m6Mtyx7x7j+rjuVupyY= en base64.
Les e-mails dans la base de données sont déjà dans cet état endommagé. En comparant celui-ci avec celui du serveur de messagerie, je constate que l’e-mail a été réécrit, et je soupçonne que le module de nettoyage d’e-mails a brouillé l’e-mail. (Mais je n’ai pas assez de connaissances en Ruby pour comprendre sa fonctionnalité unique d’encodage de chaînes de caractères.)

Y a-t-il une chance que ces messages proviennent d’un serveur Exchange..? :

2 « J'aime »

Non. Ils proviennent de Tencent et Netease. Le courriel original (je l’ai conservé sur le serveur de messagerie pour enquêter sur ce problème) n’a aucun problème avec mutt ou la bibliothèque Mail de Ruby.

J’ai récemment reçu un e-mail de rejet d’un serveur Exchange, et contrairement à cela, il n’a pas eu ce problème.

J’ai compris. La part d’un Mail a la bonne information charset, mais d’une manière ou d’une autre, son body ne l’obtient pas et traite les octets comme ASCII-8BIT.

sed -i 's/part.body.decoded/part.body.decoded.force_encoding(part.charset || "utf-8")/' /var/www/discourse/lib/email/cleaner.rb
1 « J'aime »

[quote=“lilydjwg, post:1, topic:392868”]Les mails dans la base de données sont déjà dans cet état endommagé.
[/quote]

J’ai récemment résolu ce problème avec :

[quote=“lilydjwg, post:5, topic:392868”]La partie part d’un Mail possède les informations charset correctes mais, d’une manière ou d’une autre, son body ne les récupère pas et traite les octets comme ASCII-8BIT.
[/quote]

Pouvez-vous me transmettre cet e-mail (en supposant que ce soit un e-mail qui n’a pas été corrompu par Discourse) afin que nous puissions enquêter plus avant et éventuellement l’utiliser comme cas de test ?

1 « J'aime »

J’ai créé une version simplifiée de l’e-mail qui devrait présenter le problème (vérifiée dans irb) mais sans rien de privé :

issuemail.txt (857 octets)

1 « J'aime »

L’e-mail dont vous parlez (et cet exemple) présente-t-il toujours des problèmes après la mise à jour au-delà du changement que j’ai lié ?

Non, cela a été corrigé. Merci.

2 « J'aime »