Zammad: Die japanische Codierung von 7-Bit-ISO-2022-jp wird falsch verarbeitet

Erstellt am 27. Feb. 2019  ·  29Kommentare  ·  Quelle: zammad/zammad

Infos:

  • Gebrauchte Zammad-Version: neueste Version 2.9.x.
  • Installationsmethode (Quelle, Paket, ..): Paket
  • Betriebssystem: CentOS 7.1
  • Datenbank + Version: Postgres
  • Elasticsearch-Version:
  • Browser + Version: Alle Browser
  • Ticket-ID: # 1042716 (1047950, 1076276)

Erwartetes Verhalten:

Normale Verarbeitung aller E-Mail-Nachrichten in japanischer Sprache.

Tatsächliches Verhalten:

Während der Verarbeitung von E-Mail-Nachrichten, die mit dem Zeichensatz 7-bi iso-2022-jp codiert sind, wird die Nachricht falsch decodiert.

Angenommen, es liegt ein Problem mit dem Mail-Parser vor.

Andere Codierungs- / Zeichensatzkombinationen scheinen einwandfrei zu funktionieren.

Schritte zum Reproduzieren des Verhaltens:

Senden Sie eine E-Mail an eine Mailbox, die mit der Zammad-Warteschlange in 7bit / iso-2022-jp verbunden ist

Wie bereits erläutert, führt die Kombination aus 7-Bit-Codierung und ISO-2022-JP-Zeichensatz in E-Mail-Nachrichten zu verstümmeltem Text im entsprechenden Ticket.

Im Folgenden finden Sie beispielsweise den Klartext einer 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>

Der E-Mail-Client zeigt es als richtig formatierte HTML-Nachricht an:

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

So zeigt Zammad den Ticketkörper:

$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

Hilfreichster Kommentar

Hallo @lsergei - die großartigen @mantas haben eine Gem- Problem gefunden, damit wir es stattdessen in unserem Code behandeln können. Eine nachhaltige Lösung im Juwel selbst wäre viel schöner, aber eine große Aufgabe, die wir derzeit nicht erfüllen können. Sie können es jedoch in der kommenden Version von Zammad 3.4 in ca. 2 Wochen testen.

Alle 29 Kommentare

Konnichiwa @lsergei - können Sie bitte eine vollständige Beispielmail bereitstellen, die wir dann für unsere Testsuite verwenden können? Das würde sehr helfen. Vielen Dank!

Konnichiwa @thorsteneckel , vielen Dank für die schnelle Antwort.

Wie soll ich Ihnen eine problematische Nachricht weiterleiten? Nur die Weiterleitung könnte (und wird höchstwahrscheinlich) Header ersetzen

Normalerweise hat das Mail-Programm die Option, eine Raw-Mail im Format .eml speichern. Für Apple Mail ist es zB nur File -> Save As . Bitte stellen Sie sicher, dass Sie diese Datei in einem normalen Texteditor öffnen und alle vertraulichen Daten entfernen, bevor Sie sie hier hochladen.

@thorsteneckel danke für die erklärung. Bitte beachten Sie die beigefügte Nachricht.
Da GitHub das Hochladen von EML-Dateien nicht unterstützt, wurde die Dateierweiterung in txt geändert.

メ ル マ ガ 解除 .txt

Domo Arigato!
Das Problem wurde überprüft. Wir werden dieses Problem aktualisieren, sobald wir in der Lage sind, daran zu arbeiten.

Die Hauptursache für dieses Problem ist, dass die Abhängigkeit, die wir zum Parsen von E-Mails verwenden, ISO 2022 JP-codierte E- Mails ein zusätzliches Juwel , das ältere Versionen unterstützt, aber nicht mit der (neuesten) Version kompatibel ist, die wir verwenden .
Es gibt eine 6 Jahre alte, veraltete und ausstehende Pull-Anfrage, zu der ich einen Kommentar hinzugefügt habe , um nach Anweisungen zu fragen, wie man von dort abholt. Warte auf Feedback...

Können wir bitte neu bewerten, ob es möglicherweise bereits eine funktionierende Lösung gibt?

Es wurden keine relevanten Änderungen im Mail-Juwel vorgenommen und mein letzter Kommentar ist daher (leider) immer noch gültig.

Mantas, können Sie bitte einen Blick darauf werfen, ob es vielleicht eine Lösung gibt, um dies zu umgehen, ohne über 7 Jahre alte gehackte Edelsteine ​​zu hacken? Vielleicht wäre eine Konvertierung vorher oder so möglich.

Hallo @lsergei - die großartigen @mantas haben eine Gem- Problem gefunden, damit wir es stattdessen in unserem Code behandeln können. Eine nachhaltige Lösung im Juwel selbst wäre viel schöner, aber eine große Aufgabe, die wir derzeit nicht erfüllen können. Sie können es jedoch in der kommenden Version von Zammad 3.4 in ca. 2 Wochen testen.

Hallo @thorsteneckel und @mantas - danke, danke für eure Bemühungen! Wird testen und Ihnen Feedback geben.

Ich freue mich auf die neue Version

Hallo. Ich bin neu bei Zammad.
Ich denke, dieses Problem ist bei 3.6.x nicht behoben
Mein Zammad Server zeigt ähnliche verstümmelte Charaktere.

@hiromayu Wäre es möglich, eine Original-EML-Datei einer E-Mail mit den oben genannten Codierungen zu erhalten, die in Zammad 3.6 immer noch fehlschlägt? Sie können diese EML an support [at] zammad [dot] com senden, indem Sie auf dieses Problem verweisen. Wir werden dann einen Blick darauf werfen.

Vielen Dank.

Hallo MrGeneration. Ich sende eine EML-Datei an den Support.

@hiromayu @MrGeneration Dieses Problem ist noch nicht behoben. Ich habe irgendwie aufgegeben (habe jemanden, der diese E-Mails manuell repariert)

Nur als kleines Follow-up:
Dank @hiromayu und der Beispielmail konnten wir das Problem

Es behandelt indirekt dieses Problem und das Problem Nr. 3096

Hallo. Danke euch allen.
Ich denke, dieses Problem wird durch Anwenden eines Patches behoben.
https://github.com/kuroda/mail-iso-2022-jp.
Mein Zammad-Server verarbeitet die E-Mails, die ich an den Support gesendet habe, perfekt.

@hiromayu danke für das Update! Darf ich wissen, wie Sie den Patch angewendet haben? Nur den Edelstein wie im Github-Artikel beschrieben installiert?

Ich habe vergessen zu sagen, dass ich den Grund für die Behebung dieses Problems nicht unterscheiden konnte.
Ich habe Patch angewendet und zammad server aktualisiert. Also hat einer von beiden oder beide das Problem behoben.
Ich habe den Patch per Befehl angewendet.
sudo zammad run gem install mail-iso-2022-jp installieren
und neu starten.

Vielen Dank, dass Sie @hiromayu . Nur das Juwel installiert, aber angeblich nur installieren würde das Problem nicht beheben. Darf ich wissen, was Sie in server.so geändert haben?

Es tut mir Leid. Ich habe nichts mit server.so gemacht. Ich installiere nur diesen Patch und aktualisiere den von Ubuntu Updater eingeführten Zammad Server.
Wenn nur die Installation des Patches nicht funktionieren würde. Es ist zu zuerst, um zu entscheiden, ob das Problem behoben ist. Ich werde meine E-Mails an mehreren Tagen abrufen.

@ Hiromayu Ich verstehe. Ich habe das Gleiche getan und werde überwachen, ob das Problem behoben ist.

Vielen Dank!

Nur eine wichtige Randnotiz: Beachten Sie, dass diese Aktion nicht aktualisierungssicher ist .
Wenn Sie also wirklich bei der Lösung bleiben möchten und Bugfix # 3096 nicht auf Ihrem System installiert ist, können wir Sie nicht aufhalten.

Alle Fehler, die aus diesem Grund auftreten, werden jedoch nicht mehr für die Fehlerbehebung validiert.

@MrGeneration von dem, was @hiromayu vorgeschlagen hat, ist tatsächlich aktualisierungssicher, da es keine Codeänderung gibt.

Vielleicht ist das Schließen des Tickets zu früh, aber für heute habe ich keine Probleme, nachdem ich das Juwel installiert habe.

Sie haben die Umgebung verändert.
Wenn Sie jedoch kein bestimmtes Setup für die Installation des Quellcodes haben, ist diese Aktion nicht aktualisierungssicher.

Sie da! Um einen technischen Hintergrund zu bieten: Die Installation eines Edelsteins hat keine eigenen Auswirkungen. Es wird nicht ohne weitere Aktionen / Codeänderungen geladen. Daher würde ich vorschlagen, das installierte Juwel erneut zu entfernen, um eine Vanille-Umgebung wiederherzustellen. Ich vermute, dass das bereitgestellte Update von # 3096, das vor 7 Tagen erstellt wurde, Ihr Problem @hiromayu 🤔

Danke für alles. Das Update von Zammad war der Grund, der dieses Problem behoben hat.
Es tut mir leid für falsche Informationen.
Ich werde den Zammad-Server neu installieren und das Ergebnis überprüfen. und berichten, dass es einige Tage später wirklich behoben ist.

Hallo. Ich habe ein weiteres Beispiel für dieses Problem.
aber ich denke kleiner unterschied vor dem update von zammad.
Vor dem Update wurde der gesamte japanische Charakter verstümmelt. aber jetzt ist der Betreff der Mail korrekt. Nur der Haupttext der Post ist verstümmelt.
Was sollte ich tun?

Bitte erstellen Sie eine neue Ausgabe.
Dies ist ein komplexes Problem, das möglicherweise gleich ist, aber auch leicht unterschiedlicher Natur ist.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen