O que estou perdendo...
Dado: Sistema de servidor de e-mail baseado em pilha Linux (hospedado) com componente de webmail.Váriosclientes de email e outros sistemas de webmail envolvidos e testados com isso.
Estamos distribuindo emails por meio de listas de distribuição usando o cliente de webmail. O sistema de correio envia e-mails semelhantes ao exemplo a seguir (copiar do cabeçalho do e-mail de origem). Onde organisation
está o nome de uma lista de distribuição:
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
Até aí tudo bem, os e-mails são entregues corretamente (até mesmo para caixas de correio GMX) e nenhuma mensagem de "e-mail não entregue" é recebida.
Emitir
Em seguida, responder "para todos" de determinados clientes de e-mail ou sistemas de webmail (por exemplo, webmail GMX) resulta em cabeçalhos obviamente malformados (enquanto o uso, por exemplo, do Thunderbird produz um formato correto). Essas respostas são rejeitadas por determinados sistemas; mensagem de exemplo:
Seus e-mails foram rejeitados por nosso sistema de correio porque as informações fornecidas no cabeçalho do e-mail não estão em conformidade com as especificações da RFC 5322 e RFC 2047. O campo do cabeçalho "Para" está sintaticamente incorreto.
O cabeçalho do e-mail em questão é assim (por favor, preste atenção especial à linha To:):
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, certos clientes de e-mail interpretam o nome fornecido da lista de distribuição como parte do endereço de e-mail do primeiro destinatário.
As questões em questão são: (1) Quem é o culpado? (2) Qual é o formato correto? (3) O servidor que está distribuindo a mensagem original não segue determinadas RFCs ou isso é uma falha em um cliente de e-mail ou sistema de e-mail?
===== edição final =====
Aparentemente, isso é um bug na Horda. Bilhete levantado.
Responder1
(isso provavelmente está errado, mas deixado como está, pois há algumas discussões úteis abaixo)
Onde organização é o nome de uma lista de distribuição:
O que quer que esteja gerando o e-mail original é o culpado aqui. Nomes de caixas de correio (um pouco antes de @domain) podem conter espaços, caracteres @ e todo tipo de outras coisas estranhas. Portanto, o encaminhamento está interpretando corretamente a primeira entrada do cabeçalho To: como "organização:[e-mail protegido]".
Eu precisaria ler muito para determinar se um espaço explícito requer citação ou escape (o caractere '@' no nome de uma caixa de correio exige). Portanto, não posso dizer se o erro alegando que isso não é compatível com RFC é preciso - no entanto, esse ponto é discutível, pois mesmo que não fosse obrigatório, esse não é o comportamento que você pretende.
Responder2
RFC 5322é a especificação atual para endereços de grupo. Eles são explicados no Apêndice A.1.3, onde está escrito,
From: Pete <[email protected]> To: A Group:Ed Jones <[email protected]>,[email protected],John <[email protected]>; […]
Nesta mensagem, o
To:
campo possui um único destinatário de grupo denominado "Um grupo", que contém 3 endereços […]
A especificação do endereço está definida formalmente na seção 3.4 e, a partir daqui, selecionarei apenas as partes relevantes:
3.4. Especificação de endereço
Um endereço pode ser uma caixa de correio individual ou um grupo de caixas de correio.
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]
e
3.4.1. Especificação de endereço
Um addr-spec é um identificador específico da Internet que contém uma string interpretada localmente seguida pelo caractere de arroba ("@", valor ASCII 64) seguido por um domínio da Internet. […] Comentários e espaços em branco dobráveis NÃO DEVEM ser usados ao redor do "@" no addr-spec.
addr-spec = local-part "@" domain local-part = dot-atom / quoted-string domain = dot-atom / domain-literal
e
3.2.3. Átomo
dot-atom = [CFWS] dot-atom-text [CFWS]
Omiti obs-*
aqui as entradas que existem na especificação formal da RFC 5322, pois fazem referência a padrões obsoletos. CFWS
indica que comentários e/ou espaços em branco dobráveis são permitidos.
Assim, ambos os formatos devem ser aceitos pela definição 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 interpretação à sua própria lista de grupo, eu diria que o que você tem é válido:
To: organisation: [email protected], [email protected];
e, portanto, são os sistemas destinatários os culpados. (Ou um sistema intermediário com reescrita agressiva de cabeçalho. Se você enviar seus e-mails através de um dispositivo de firewall ou se seus clientes os receberem por meio de um, eu verificaria isso.)