![Correos electrónicos rechazados desde varios sistemas basados en Linux debido a una falla percibida en la sintaxis del encabezado al usar listas de distribución.](https://rvso.com/image/231069/Correos%20electr%C3%B3nicos%20rechazados%20desde%20varios%20sistemas%20basados%20%E2%80%8B%E2%80%8Ben%20Linux%20debido%20a%20una%20falla%20percibida%20en%20la%20sintaxis%20del%20encabezado%20al%20usar%20listas%20de%20distribuci%C3%B3n..png)
Qué me estoy perdiendo...
Dado: sistema de servidor de correo electrónico basado en pila Linux (alojado) con componente de correo web.VariosClientes de correo electrónico y otros sistemas de correo web involucrados y probados con esto.
Estamos distribuyendo correos electrónicos a través de listas de distribución utilizando el cliente de correo web. El sistema de correo envía correos electrónicos similares al siguiente ejemplo (copia del encabezado del correo electrónico de origen). ¿Dónde organisation
está el nombre de una lista de distribución?
Date: Sat, 20 Apr 2024 18:35:45 +0200
Message-ID: <[email protected]>
From: [email protected]
To: organisation: [email protected], [email protected];
Subject: here goes the subject
Hasta ahora todo bien, los correos electrónicos se entregan correctamente (incluso a los buzones de GMX) y no se recibe ningún mensaje de "correo electrónico que no se puede entregar".
Asunto
A continuación, responder "a todos" desde ciertos clientes de correo electrónico o sistemas de correo web (por ejemplo, correo web GMX) da como resultado encabezados obviamente mal formados (mientras que el uso, por ejemplo, Thunderbird produce un formato correcto). Esas respuestas son rechazadas por ciertos sistemas; mensaje de ejemplo:
Nuestro sistema de correo ha rechazado sus correos electrónicos porque la información proporcionada en el encabezado del correo electrónico no cumple con las especificaciones en RFC 5322 y RFC 2047. El campo del encabezado "Para" no es sintácticamente correcto.
El encabezado del correo electrónico en cuestión se ve así (preste especial atención a la línea Para:):
Received: from ...
Reply-To: ...
From: <[email protected]>
To: <[email protected]>, <organisation: [email protected]>;
References: <[email protected]>
In-Reply-To: <[email protected]>
Subject: AW: here goes the subject
Obviamente, ciertos clientes de correo interpretan el nombre proporcionado de la lista de distribución como parte de la dirección de correo electrónico del primer destinatario.
Las preguntas que nos ocupan son: (1) ¿Quién es el culpable? (2) ¿Cuál es el formato correcto? (3) ¿El servidor que distribuye el mensaje original no sigue ciertos RFC o se trata de una falla en un cliente de correo o sistema de correo?
===== edición final =====
Aparentemente esto es un error en Horda. Boleto levantado.
Respuesta1
(Esto probablemente esté mal, pero se deja como está, ya que hay una discusión útil a continuación)
Donde organización es el nombre de una lista de distribución:
Lo que sea que esté generando el correo electrónico original tiene la culpa aquí. Los nombres de los buzones de correo (el bit antes de @dominio) pueden contener espacios, caracteres @ y todo tipo de cosas raras. Entonces, el reenvío interpreta correctamente la primera entrada del encabezado Para: como "organización:[correo electrónico protegido]".
Necesitaría leer mucho para determinar si un espacio explícito requiere entre comillas o escape (el carácter '@' en el nombre de un buzón sí lo requiere). Por lo tanto, no puedo decirle si el error que afirma que esto no cumple con RFC es exacto; sin embargo, este punto es discutible ya que incluso si no fuera necesario, este no es el comportamiento que pretende.
Respuesta2
RFC 5322es la especificación actual para direcciones de grupo. Se explican en el Apéndice A.1.3, donde escribe,
From: Pete <[email protected]> To: A Group:Ed Jones <[email protected]>,[email protected],John <[email protected]>; […]
En este mensaje, el
To:
campo tiene un único destinatario de grupo llamado "Un grupo", que contiene 3 direcciones […]
La especificación de la dirección se define formalmente en la sección 3.4, y de aquí seleccionaré solo las partes relevantes:
3.4. Especificación de dirección
Una dirección puede ser un buzón individual o un grupo de buzones.
group = display-name ":" [group-list] ";" [CFWS] group-list = mailbox-list / CFWS mailbox-list = (mailbox *("," mailbox)) mailbox = name-addr / addr-spec name-addr = [display-name] angle-addr angle-addr = [CFWS] "<" addr-spec ">" [CFWS]
y
3.4.1. Especificación de especificación de dirección
Una especificación de dirección es un identificador de Internet específico que contiene una cadena interpretada localmente seguida del carácter de arroba ("@", valor ASCII 64) seguido de un dominio de Internet. […] Los comentarios y los espacios en blanco plegables NO DEBEN usarse alrededor de la "@" en addr-spec.
addr-spec = local-part "@" domain local-part = dot-atom / quoted-string domain = dot-atom / domain-literal
y
3.2.3. Átomo
dot-atom = [CFWS] dot-atom-text [CFWS]
He omitido obs-*
aquí las entradas que existen en la especificación formal de RFC 5322 ya que hacen referencia a patrones obsoletos. CFWS
indica que se permiten comentarios y/o espacios en blanco plegables.
En consecuencia, ambos formatos deben aceptarse según la definición de group-list
:
A Group:Ed Jones <[email protected]>,[email protected],John <[email protected]>;
A Bare Group:[email protected],[email protected],[email protected];
Aplicando esta interpretación a tu propia lista de grupos, diría que lo que tienes es válido:
To: organisation: [email protected], [email protected];
y, por tanto, son los sistemas receptores los que tienen la culpa. (O un sistema intermedio con reescritura agresiva de encabezados. Si envía sus correos electrónicos a través de un dispositivo de firewall o sus clientes los reciben a través de uno, lo verificaría).