Tenemos un problema muy extraño aquí.
Tome este correo electrónico de ejemplo (formulario sin procesar, desinfectado):
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--
Esto se envía a través de SMTP directo a un conector de envío en MS365 configurado para recibir y retransmitir correo desde nuestro servidor de correo local a MS365 para su retransmisión a Internet.
Excepto... mientras que el correo electrónico se retransmite a los destinatarios externos de destino... en realidad sólo envía el destinatario, el remitente, el asunto, etc., pero completamenteignorael contenido real del mensaje. Esto también se replicó con el envío directo de un correo electrónico de prueba MIMEText() en Python.
Sin embargo, el mismo correo electrónico, cuando se envía directamente a los servidores de correo externos donde lo recibo (donde @NOPE
estaría mi dominio y servidor reales), se transmite y retransmite bien, con todo el contenido. Lo mismo sucede también cuando transmitimos a través de un relé Postfix local que pasa por un dispositivo Sophos, que luego va directamente al servidor destinatario.
Por lo tanto, parece que enrutar cualquier correo a través de Exchange Online de esta manera con un sistema local que envía correo a través de MS365 no funciona. Independientemente del mensaje enviado.
¿Alguien más tiene aquí algún tipo de sistema o solución de correo local que deba enrutarse a través de MS365 y simplemente no puede hacerlo sin que Microsoft se coma el mensaje en su totalidad?
El correo electrónico anterior se envió a la Lista de prueba desde un sitio externo, se enruta a un servidor Exchange local (configuración híbrida de Exchange debido a los servidores de listas locales), se modificó para cumplir con DMARC y luego se retransmitió a dos direcciones externas como un mensaje nuevo. El mismo problema en los extremos del destinatario. También el mismo problema para los destinatarios internos de MS365 (dentro de la organización).
Nuevamente, la entrega funciona bien a través de material Postfix local, pero no cuando se transmite a través de MS365 (que claramente ACEPTÓ los correos electrónicos y retransmitió todo EXCEPTO el mensaje real).
Respuesta1
Bien, parece que me di cuenta de esto, pero es algo por lo que tendré que gritarle a Microsoft.
Los mensajes de mi pregunta son textualmente lo que se envía a Postfix y lo que se envía al conector SMTP de Outlook. Sin embargo, la diferencia es que Postfix maneja adecuadamente el mensaje y luego lo retransmite.de alguna manerade una manera diferente a la forma en que smtplib de Python maneja la transmisión de correo. Mensajesysu contenido se entrega correctamente cuando se entrega por primera vez a un servidor Postfix para su procesamiento antes de enviarse a través del conector de envío en MS365. Lo cual... no es lo que queríamos porque no queríamos mantener ningún tipo de servidor de correo real local, Postfix o de otro tipo, y solo queríamos entregarlo directamente a Microsoft 365 para su manejo en lugar de necesitar un "intermediario". en un servidor de correo y MTAantesrecibir mensajes de clientes y conectores de puntos finales.
También es extraño que Microsoft 365 sea incapaz de entregar correctamente los mensajes que se le entregan directamente, a menos que Microsoft tenga algún formato extraño que quiera manejar.no esCumple con RFC... pero esa es una lucha diferente.
Respuesta2
¿Su aplicación cumple con los siguientes requisitos? Cómo configurar un dispositivo o aplicación multifunción para enviar correo electrónico usando Microsoft 365 u Office 365
Intenta usarEnviar mensaje de correooTelneten su servidor de correo electrónico para probar SMTP y ver si hay alguna diferencia.
Además, quizás el siguiente hilo te resulte útil:Enviar correo electrónico stmp office 365: mensaje vacío