Zammad: La codificación japonesa iso-2022-jp de 7 bits se procesa incorrectamente

Creado en 27 feb. 2019  ·  29Comentarios  ·  Fuente: zammad/zammad

Infos:

  • Versión de Zammad utilizada: última versión 2.9.x
  • Método de instalación (fuente, paquete, ..): paquete
  • Sistema operativo: CentOS 7.1
  • Base de datos + versión: Postgres
  • Versión de Elasticsearch:
  • Navegador + versión: todos los navegadores
  • Ticket-ID: # 1042716 (1047950, 1076276)

Comportamiento esperado:

Procesamiento normal de todos los mensajes de correo electrónico en japonés.

Comportamiento real:

Al procesar mensajes de correo electrónico codificados con el juego de caracteres 7-bi iso-2022-jp, el mensaje se decodifica incorrectamente.

Suponiendo un problema con el analizador de correo.

Otras combinaciones de codificación / juego de caracteres parecen funcionar bien.

Pasos para reproducir el comportamiento:

Envíe un correo electrónico al buzón conectado a la cola de Zammad en 7bit / iso-2022-jp

Como ya se explicó, la combinación de codificación de 7 bits y juego de caracteres iso-2022-jp en un mensaje de correo electrónico da como resultado un texto confuso en el ticket correspondiente.

Por ejemplo, a continuación se muestra el texto sin formato del correo electrónico:

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>

El cliente de correo electrónico lo mostrará como un mensaje HTML con el formato adecuado:

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

Así es como Zammad mostrará el cuerpo de la entrada:

$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

Comentario más útil

Hola @lsergei : el gran @mantas encontró una solución para el problema de la gema de correo para que podamos manejarlo en nuestro código. Una solución sostenible en la gema en sí sería mucho mejor, pero es una tarea enorme que no podemos lograr en este momento. Sin embargo, siéntase libre de probarlo en la próxima versión de Zammad 3.4 en aproximadamente 2 semanas.

Todos 29 comentarios

Konnichiwa @lsergei : ¿podría proporcionar un correo de ejemplo completo que luego podamos usar para nuestro conjunto de pruebas? Eso ayudaría mucho. ¡Gracias!

Konnichiwa @thorsteneckel , gracias por la rápida respuesta.

¿Cómo le gustaría que le remitiera un mensaje problemático? Simplemente reenviarlo podría (y probablemente lo hará) reemplazar los encabezados

Por lo general, el programa de correo tiene una opción para guardar un correo sin formato en formato .eml . Para Apple Mail, por ejemplo, es solo File -> Save As . Asegúrese de abrir ese archivo en un editor de texto normal y eliminar todos los datos confidenciales antes de cargarlo aquí.

@thorsteneckel gracias por la explicación. Consulte el mensaje adjunto.
Como GitHub no admite la carga de archivos eml, la extensión del archivo se cambió a txt.

メ ル マ ガ 解除 .txt

¡Domo arigato!
El problema está verificado, actualizaremos este problema tan pronto como podamos trabajar en él.

Entonces, la causa raíz de este problema es que la dependencia que estamos usando para analizar los correos electrónicos no es compatible con los correos electrónicos codificados con ISO 2022 JP . Hay una joya adicional que brinda ese soporte a versiones anteriores, pero no es versión (más reciente) que estamos usando .
Hay una solicitud de extracción de 6 años, obsoleta y pendiente en la que agregué un comentario para pedir instrucciones sobre cómo recoger desde allí. Esperando comentarios ...

¿Podemos reevaluar si es posible que haya una solución que funcione ahora?

No ha habido cambios relevantes en la gema del correo y, por lo tanto, mi último comentario sigue siendo válido (desafortunadamente).

Mantas, ¿podrías echar un vistazo si tal vez hay una solución para solucionar esto sin hackear gemas pirateadas de más de 7 años? Quizás una conversión sería posible antes o así.

Hola @lsergei : el gran @mantas encontró una solución para el problema de la gema de correo para que podamos manejarlo en nuestro código. Una solución sostenible en la gema en sí sería mucho mejor, pero es una tarea enorme que no podemos lograr en este momento. Sin embargo, siéntase libre de probarlo en la próxima versión de Zammad 3.4 en aproximadamente 2 semanas.

Hola @thorsteneckel y @mantas : ¡gracias, apreciamos tus esfuerzos! Probará y le dará su opinión.

Esperando un nuevo lanzamiento

Hola. Soy nuevo en zammad.
Creo que este problema no se soluciona en 3.6.x
mi servidor zammad muestra caracteres confusos similares.

@hiromayu ¿Sería posible recibir un archivo eml original de un correo electrónico con las codificaciones anteriores que aún falla dentro de Zammad 3.6? Puede enviar este eml a support [at] zammad [dot] com haciendo referencia a este problema. Entonces echaremos un vistazo.

Gracias.

Hola MrGeneration. Envío un archivo eml para apoyar.

@hiromayu @MrGeneration, este problema aún no se ha solucionado. Me di por vencido (que alguien arregle esos correos electrónicos manualmente)

Solo como un pequeño seguimiento:
Gracias a @hiromayu y al correo de muestra pudimos precisar el problema.

Está cubriendo indirectamente este problema y el número 3096.

Hola. Gracias a todos.
Creo que este problema se soluciona aplicando un parche.
https://github.com/kuroda/mail-iso-2022-jp.
mi servidor Zammad maneja perfectamente el correo que había enviado para dar soporte.

@hiromayu ¡ gracias por la actualización! ¿Puedo saber cómo se aplicó el parche? ¿Acabas de instalar la gema como se describe en el artículo de github?

Olvidé decirle que no pude distinguir la razón por la que solucionó este problema.
Apliqué el parche y actualicé el servidor zammad. Así que uno de ellos o ambos solucionó el problema.
Apliqué el parche por comando.
sudo zammad ejecutar gema instalar mail-iso-2022-jp
y reiniciar.

Gracias @hiromayu . Acabo de instalar la gema, pero supuestamente solo instalar no solucionaría el problema. ¿Puedo saber qué cambió en server.so?

Lo siento. No hice nada al servidor. Acabo de instalar ese parche y actualizar el servidor zammad introducido por el actualizador de ubuntu.
si la instalación del parche no funcionara. es demasiado primero para decidir si se solucionó el problema. Revisaré mi correo electrónico en varios días.

@hiromayu lo entiendo. Hice lo mismo y controlaré si el problema desaparece.

¡Muchas gracias!

Solo una nota al margen importante: tenga en cuenta que esta acción no es segura para las actualizaciones .
Entonces, si realmente desea seguir con la solución y la corrección de error # 3096 no está instalada en su sistema, no podemos detenerlo.

Sin embargo, todos los errores que aparecen debido a esto ya no se validan para la corrección de errores.

@MrGeneration de lo que @hiromayu sugirió que en realidad es seguro actualizar ya que no hay modificación de código.

Quizás cerrar el ticket sea demasiado pronto, pero por hoy no tengo problemas después de instalar dicha gema.

Cambiaste el ambiente.
Dicho esto, si no tiene una configuración de instalación de código fuente específica, esta acción no es segura para la actualización.

¡Hola! Para proporcionar algunos antecedentes técnicos: La instalación de una gema no tiene ningún efecto por sí sola. No se cargará sin más acciones / cambios de código. Por lo tanto, sugeriría eliminar la gema instalada nuevamente para restaurar un entorno de vainilla. Sospecho que la solución proporcionada de # 3096 creada hace 7 días resolvió su problema @hiromayu 🤔

Gracias por todo. Entonces, la actualización de Zammad fue la razón por la que solucionó este problema.
Lamento la información incorrecta.
Volveré a instalar el servidor Zammad y comprobaré el resultado. e informar que realmente se solucionó varios días después.

Hola. Tengo otro ejemplo de este problema.
pero creo que hay una pequeña diferencia antes de la actualización de zammad.
antes de la actualización, todos los caracteres japoneses estaban distorsionados. pero ahora el asunto del correo es correcto. sólo se distorsiona el texto principal del correo.
¿Qué tengo que hacer?

Crea un nuevo problema.
Este es un tema complejo y puede parecer el mismo, pero también puede ser de naturaleza ligeramente diferente.

¿Fue útil esta página
0 / 5 - 0 calificaciones