Temos um problema muito estranho acontecendo aqui.
Veja este exemplo de e-mail (formato bruto, higienizado):
To: [email protected]
From: Thomas Ward via TestList <[email protected]>
Subject: Test Message
Date: Wed, 4 Aug 2021 19:44:49 -0400
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="------------EFA1B8DAB3C4E625DD16F705"
Content-Language: en-US
Sender: [email protected]
Reply-To: Thomas Ward <teward@NOPE>
CC: Thomas Ward <teward@NOPE>
Message-ID: <162812069430.22940.8470019517074758016@listserv-server>
List-Id: TestList <[email protected]>
List-Post: <mailto:[email protected]>
--------------EFA1B8DAB3C4E625DD16F705
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Test
--------------EFA1B8DAB3C4E625DD16F705
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 7bit
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Test<br>
</p>
</body>
</html>
--------------EFA1B8DAB3C4E625DD16F705--
Isso está sendo enviado via SMTP direto para um conector de envio no MS365 configurado para receber e retransmitir mensagens de nosso servidor de correio local para o MS365 para retransmissão para a Internet.
Exceto... enquanto o e-mail é retransmitido para os destinatários externos de destino... na verdade, ele envia apenas Para, De, Assunto, etc., mas completamenteignorao conteúdo real da mensagem. Isso também foi replicado com o envio direto de um e-mail de teste MIMEText() em Python.
O mesmo e-mail, porém, quando enviado diretamente aos servidores de e-mail externos onde estou recebendo (onde @NOPE
estaria meu domínio e servidor reais), transmite e retransmite perfeitamente, com todo o conteúdo. A mesma coisa acontece quando transmitimos por meio de uma retransmissão Postfix local que passa por um dispositivo Sophos, que então vai diretamente para o servidor destinatário.
Portanto, parece que o roteamento de qualquer e-mail via Exchange Online dessa maneira, com um sistema local enviando e-mail via MS365, não funciona. Independentemente da mensagem enviada.
Alguém mais tem algum tipo de sistema ou solução de correio local que precisa ser roteado via MS365 e simplesmente não consegue sem que a Microsoft coma a mensagem por completo?
O e-mail acima foi enviado para a lista de teste externamente, roteado para um servidor Exchange local (configuração híbrida do Exchange devido a listservs locais), modificado para conformidade com DMARC e, em seguida, retransmitido para dois endereços externos como uma nova mensagem, mesmo problema nas extremidades do destinatário. O mesmo problema também para destinatários internos do MS365 (na organização).
Novamente, a entrega funciona bem por meio do Postfix local, mas não quando retransmitida via MS365 (que claramente ACEITOU os e-mails e retransmitiu tudo, EXCETO a mensagem real).
Responder1
OK, parece que descobri isso, mas é algo pelo qual terei que gritar com a Microsoft.
As mensagens na minha pergunta são literalmente o que está sendo enviado para o Postfix e o que está sendo enviado para o conector SMTP do Outlook. A diferença, entretanto, é que o Postfix lida adequadamente com a mensagem e então a retransmitede alguma formade uma forma diferente da maneira como o smtplib do Python lida com a transmissão de mensagens. Mensagenseseu conteúdo é entregue corretamente quando entregue pela primeira vez a um servidor Postfix para processamento antes de ser enviado por meio do conector de envio no MS365. O que... não é o que queríamos, porque não queríamos manter nenhum tipo de servidor de e-mail real no local, Postfix ou outro, e apenas queríamos entregar diretamente ao Microsoft 365 para manipulação, em vez de precisar de um 'intermediário' em um servidor de email e MTAantesreceber mensagens de clientes e conectores de endpoint.
Também é estranho que o Microsoft 365 seja incapaz de entregar adequadamente as mensagens entregues diretamente a ele, a menos que a Microsoft tenha algum formato estranho que queira lidar com issonão éCompatível com RFC... mas essa é uma luta diferente.
Responder2
Sua aplicação atende aos seguintes requisitos? Como configurar um dispositivo multifuncional ou aplicativo para enviar email usando Microsoft 365 ou Office 365
Tente usarEnviar-MailMessageouTelnetno seu servidor de e-mail para testar o SMTP e ver se há alguma diferença.
Além disso, talvez o seguinte tópico seja útil:Enviar emal stmp office 365: mensagem vazia