Zammad: L'encodage japonais 7 bits iso-2022-jp n'est pas traité correctement

Créé le 27 févr. 2019  ·  29Commentaires  ·  Source: zammad/zammad

Infos:

  • Version Zammad utilisée: dernière version 2.9.x
  • Méthode d'installation (source, package, ..): package
  • Système d'exploitation: CentOS 7.1
  • Base de données + version: Postgres
  • Version d'Elasticsearch:
  • Navigateur + version: Tous les navigateurs
  • ID du billet: # 1042716 (1047950, 1076276)

Comportement prévisible:

Traitement normal de tous les e-mails en japonais.

Comportement réel:

Lors du traitement des messages électroniques encodés avec le jeu de caractères 7-bi iso-2022-jp, le message est décodé de manière incorrecte.

En supposant un problème avec l'analyseur de courrier.

D'autres combinaisons d'encodage / jeu de caractères semblent fonctionner très bien.

Étapes pour reproduire le comportement:

Envoyer un e-mail à la boîte aux lettres connectée à la file d'attente Zammad en 7bit / iso-2022-jp

Comme déjà expliqué, la combinaison d'un codage 7 bits et d'un jeu de caractères iso-2022-jp dans un message électronique entraîne un texte brouillé dans le ticket correspondant.

Par exemple, ci-dessous est le texte brut de l'e-mail:

Content-Type: text/plain; charset="iso-2022-jp"
Content-Transfer-Encoding: quoted-printable

=1B$B$3$N%"%I%l%9$X$N%a%k%^%,$r2r=3D|$7$F$/$@$5$$!#=1B(B

--_000_SL2P216MB032969A22C6D22226A7B3613EF740SL2P216MB0329KORP_
Content-Type: text/html; charset="iso-2022-jp"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-2022-=
jp">
<style type=3D"text/css" style=3D"display:none;"> P {margin-top:0;margin-bo=
ttom:0;} </style>
</head>
<body dir=3D"ltr">
<div style=3D"font-family: Meiryo, =1B$B%a%$%j%*=1B(B, &quot;Hiragino Sans&=
quot;, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
=1B$B$3$N%"%I%l%9$X$N%a%k%^%,$r2r=3D|$7$F$/$@$5$$!#=1B(B</div>
</body>
</html>

le client de messagerie l'affichera comme un message HTML correctement formaté:

このアドレスへのメルマガを解除してください。

Voici comment Zammad affichera le corps du ticket:

$B$3$N%"%I%l%9$X$N%a%k%^%,$r2r=|$7$F$/$@$5$$!#(B
bug mail processing prioritised by payment third party issue verified waiting for feedback

Commentaire le plus utile

Salut @lsergei - le grand @mantas a trouvé une solution de contournement pour le problème des gemmes de messagerie afin que nous puissions le gérer dans notre code à la place. Une solution durable dans le joyau lui-même serait beaucoup plus agréable, mais une tâche énorme que nous ne pouvons pas accomplir pour le moment. Cependant, n'hésitez pas à le tester dans la prochaine version de Zammad 3.4 dans environ 2 semaines.

Tous les 29 commentaires

Konnichiwa @lsergei - pourriez-vous s'il vous plaît fournir un exemple de courrier complet que nous pourrons ensuite utiliser pour notre suite de tests? Cela aiderait beaucoup. Merci!

Konnichiwa @thorsteneckel , merci pour la réponse rapide.

Comment souhaitez-vous que je vous transmette un message problématique? Le simple fait de le transmettre pourrait (et le fera probablement) remplacer les en-têtes

Habituellement, le programme de messagerie a une option pour enregistrer un courrier brut au format .eml . Pour Apple Mail, par exemple, c'est juste File -> Save As . Veuillez vous assurer d'ouvrir ce fichier dans un éditeur de texte standard et de supprimer toutes les données sensibles avant de le télécharger ici.

@thorsteneckel merci pour l'explication. Veuillez consulter le message ci-joint.
Comme GitHub ne prend pas en charge le téléchargement de fichiers eml, l'extension de fichier a été remplacée par txt.

メ ル マ ガ 解除 .txt

Domo arigato!
Le problème est vérifié, nous le mettrons à jour dès que nous serons en mesure de travailler dessus.

La cause première de ce problème est que la dépendance que nous utilisons pour analyser les courriers électroniques ne prend pas en charge les courriers codés ISO 2022 JP . Il existe un joyau supplémentaire qui apporte ce support aux anciennes versions mais n'est pas compatible avec la (dernière) version que nous utilisons .
Il y a une demande de tirage vieille de 6 ans, périmée et en attente, sur laquelle j'ai ajouté un commentaire pour demander des instructions sur la façon de récupérer à partir de là. En attente de commentaires ...

Pouvons-nous réévaluer s'il existe une solution de travail à l'heure actuelle?

Il n'y a pas eu de changements pertinents dans le gem mail et mon dernier commentaire est donc (malheureusement) toujours valable.

Mantas, pouvez-vous jeter un œil s'il y a peut-être une solution pour contourner ce problème sans pirater plus de gemmes piratées de 7 ans? Peut-être qu'une conversion serait possible avant ou à peu près.

Salut @lsergei - le grand @mantas a trouvé une solution de contournement pour le problème des gemmes de messagerie afin que nous puissions le gérer dans notre code à la place. Une solution durable dans le joyau lui-même serait beaucoup plus agréable, mais une tâche énorme que nous ne pouvons pas accomplir pour le moment. Cependant, n'hésitez pas à le tester dans la prochaine version de Zammad 3.4 dans environ 2 semaines.

Salut @thorsteneckel et @mantas - merci, appréciez vos efforts! Je vais tester et vous donner des commentaires.

Dans l'attente de la nouvelle version

Salut. Je suis nouveau chez zammad.
Je pense que ce problème n'est pas résolu à 3.6.x
mon serveur zammad affiche des caractères déformés similaires.

@hiromayu Serait-il possible de recevoir un fichier eml original d'un e-mail avec les encodages ci-dessus qui échouent toujours dans Zammad 3.6? Vous pouvez envoyer cet eml à support [at] zammad [dot] com en faisant référence à ce problème. Nous allons jeter un oeil alors.

Merci.

Salut MrGeneration. J'envoie le fichier eml au support.

@hiromayu @MrGeneration ce problème n'est pas encore résolu en effet. J'ai en quelque sorte abandonné (j'ai quelqu'un pour réparer ces e-mails manuellement)

Juste comme un petit suivi:
Grâce à @hiromayu et à l'exemple de courrier, nous avons pu cerner le problème.

Il couvre indirectement ce problème et le numéro 3096

Salut. Merci à tous.
Je pense que ce problème est résolu en appliquant un patch.
https://github.com/kuroda/mail-iso-2022-jp.
mon serveur Zammad gère parfaitement le courrier que j'avais envoyé pour le prendre en charge.

@hiromayu merci pour la mise à jour! Puis-je savoir comment vous avez appliqué le patch? Vous venez d'installer le gem comme décrit dans l'article github?

J'ai oublié de dire que je ne pouvais pas distinguer la raison pour laquelle la résolution de ce problème.
J'ai appliqué le correctif et mis à jour le serveur zammad, donc l'un d'entre eux ou les deux ont résolu le problème.
J'ai appliqué le patch par commande.
sudo zammad exécuter gem installer mail-iso-2022-jp
et redémarrez.

Merci @hiromayu . Je viens d'installer la gemme, mais l'installation ne résoudrait pas le problème. Puis-je savoir ce que vous avez changé dans server.so?

Je suis désolé. Je n'ai rien fait pour server.so. Je viens d'installer ce correctif et de mettre à jour le serveur zammad introduit par ubuntu updater.
si l'installation du correctif ne fonctionnait pas. il est trop tôt pour décider du problème résolu. Je vérifierai mon email dans plusieurs jours.

@hiromayu Je comprends. J'ai fait la même chose et je vais surveiller si le problème a disparu.

Merci beaucoup!

Juste une remarque importante: gardez à l'esprit que cette action n'est pas sécurisée pour la mise à jour .
Donc, si vous voulez vraiment vous en tenir à la solution et que le correctif # 3096 n'est pas installé sur votre système, nous ne pouvons pas vous arrêter.

Cependant, tous les bogues qui apparaissent à cause de cela ne sont plus valables pour la correction des bogues.

@MrGeneration d' après ce que @hiromayu a suggéré, c'est en fait une mise à jour sûre car il n'y a pas de modification de code.

Peut-être que la fermeture du ticket est trop tôt, mais pour aujourd'hui, je n'ai aucun problème après l'installation de ladite gemme.

Vous avez changé l'environnement.
Cela étant dit, si vous n'avez pas de configuration d'installation de code source spécifique, cette action n'est pas sécurisée pour la mise à jour.

Salut! Pour fournir quelques informations techniques: l'installation d'une gemme n'a aucun effet en soi. Il ne sera pas chargé sans autre action / changement de code. Par conséquent, je suggère de supprimer à nouveau la gemme installée pour restaurer un environnement vanille. Je soupçonne que le correctif fourni de # 3096 créé il y a 7 jours a résolu votre problème @hiromayu 🤔

Merci pour tout. Ainsi, la mise à jour de Zammad a été la raison pour laquelle ce problème a été résolu.
Je suis désolé pour des informations incorrectes.
Je vais réinstaller le serveur Zammad et vérifier le résultat. et signaler que c'est vraiment fixé à plusieurs jours après.

Salut. J'ai un autre exemple de ce problème.
mais, je pense que petite différence avant la mise à jour de zammad.
avant la mise à jour, tout le caractère japonais était déformé. mais maintenant le sujet du courrier est correct. seul le texte principal de l'e-mail est déformé.
Que devrais-je faire?

Veuillez créer un nouveau problème.
Il s'agit d'un problème complexe qui peut sembler être le même, mais peut également être de nature légèrement différente.

Cette page vous a été utile?
0 / 5 - 0 notes