Estoy ejecutando un servidor Postfix que utiliza Dovecot LMTP para la entrega de correo. Hago esto porque combina bien con el colador.
Sin embargo, últimamente recibí algunos correos electrónicos con Unicode en la línea de asunto.
Postfix recibe correctamente este correo, que claramente admite SMTPUTF8; sin embargo, muere cuando llega a LMTP:
<me@myhost> (expanded from <meother@mhost>): SMTPUTF8 is required, but was not offered by host myhost[public/lmtp]
Leí en la documentación de Postfix SMTPUTF8 que,
Cuando se recibe un mensaje con la solicitud SMTPUTF8, Postfix entregará el mensaje a un servidor SMTP o LMTP que no sea SMTPUTF8 SÓLO si:
Ningún valor de encabezado de mensaje contiene UTF-8.
La dirección del remitente del sobre no contiene UTF-8,
Ninguna dirección del destinatario del sobre para esa transacción de entrega SMTP/LMTP específica contiene UTF-8.
NOTA: Los destinatarios de otras transacciones de entrega de correo electrónico para ese mismo mensaje aún pueden contener UTF-8.
De lo contrario, Postfix devolverá a los destinatarios de esa transacción de entrega de correo electrónico como no entregables. El mensaje de notificación del estado de entrega será un mensaje SMTPUTF8. Por lo tanto, estará sujeto a las mismas restricciones que el correo electrónico que se recibe con la solicitud SMTPUTF8.
--http://www.postfix.org/SMTPUTF8_README.html#detecting
La parte relevante es "Postfix entregará... a un servidor LMTP que no sea SMTPUTF8... SÓLO si... [no hay UTF8 en el mensaje]".
Esto está redactado de manera extraña, pero la implicación es que Postfix solo pasará el correo UTF8 a un servidor descendente si es compatible con UTF8.
Debido a que recibo correo UTF8, Postfix se niega a entregarlo a Dovecot LMTP.
Lo que me lleva a un par de preguntas:
- ¿Dovecot LMTP es compatible con SMTPUTF8? (Parece que no: http://www.dovecot.org/list/dovecot/2013-January/thread.html#87756)
- ¿Postfix tiene un modo de "fallo suave" para esto, mediante el cual puede poner el correo en cola para su entrega posterior, omitir LMTP o hacer algo más inteligente que caerse?
Respuesta1
TL;DR: VerSumming up
!
Regularmente también recibo correos electrónicos con UTF-8
caracteres en la Subject:
línea. Nunca hasta ahora ninguno dentro de otros encabezados.
Si bien desconozco el modo de 'fallo suave' en postfix, puede configurar otro transporte smtp y el filtrado rebota a través de él como una especie de modo a prueba de fallos. Sin embargo, todavía tendría que completar esta configuración yo mismo. A partir de ahora, los rebotes permanecen en la cola como no entregables hasta su vencimiento. Al menos no se devuelven simplemente al remitente y tengo un ojo puesto en los miembros pegajosos de la cola. Por otro lado, soy reacio a seguir ese camino, ahora que el siguiente método me funciona (tm):
La solución de trabajo (solo en el caso de UTF-8
caracteres in Subject:
) fue simplementedesactivarsufijo'smtputf8_enable
característica que hoy en día está predeterminada en "sí" (es decir, usando un Debian actualizado). En main.cf agregue:
smtputf8_enable = no
Jugar con eso smtputf8_autodetect_classes
no fue concluyente.
Los mensajes de correo electrónico que incluyen la UTF-8
Subject:
línea ahora están siendo procesados por postfix y guardados por dovecot sin ningún problema.
La solución puede parecer contradictoria, especialmente con respecto a la documentación postfix ligeramente redactada de manera extraña (como ya mencionó).
La última actualización sobre SMTPUTF8
soporte en dovecot parece ser a la que hace referencia. En otro lugar, recuerdo haber visto una publicación en la que SMTPUTF8
el palomar no se implementará pronto, si es que se implementará [cita requerida]. No estoy seguro de si se trataba de una declaración autorizada o no.
Otro comentario sobre palomar SMTPUTF8
se puede encontrar aquí (incluida su referencia y esta pregunta SE):https://dovecot.org/list/dovecot/2016-November/106029.html
Junto con esta siguiente publicación, parece que el tema se estancó aproximadamente a finales de 2016:https://dovecot.org/list/dovecot/2016-September/105474.html
En octubre de 2022, todavía no hay perspectivas de que SMTPUTF8 vaya a ser compatible con dovecot LDA/LMTP en el corto plazo. Sin embargo, ahora se está rastreando este problema con el identificador de seguimiento de errores de dovecot "DOP-1045" (cf. https://dovecot.org/list/dovecot/2019-April/115430.html).
Resumiendo:hoy en día, si no necesita SMTPUTF8
soporte en encabezados distintos del Subject:
encabezado, puede salirse con la suya con solodeshabilitar smtputf8_enable
en postfix' main.cfy ser feliz tal como está.
HT