Пустой адрес электронной почты при использовании MS365 в качестве почтового ретранслятора из приложения Python

Пустой адрес электронной почты при использовании MS365 в качестве почтового ретранслятора из приложения Python

У нас тут произошла очень странная проблема.

Возьмем этот пример электронного письма (необработанная форма, очищенная):

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--

Он отправляется напрямую по протоколу SMTP на коннектор отправки в MS365, настроенный на прием и ретрансляцию почты с нашего локального почтового сервера в MS365 для повторной передачи в Интернет.

За исключением того, что... в то время как электронное письмо ретранслируется внешним получателям... оно на самом деле отправляет только поля «Кому», «От», «Тема» и т. д., но полностьюигнорируетфактическое содержание сообщения. Это было воспроизведено с прямой отправкой тестового письма MIMEText() в Python.

Однако то же самое письмо, отправленное напрямую на внешние почтовые серверы, где я его получаю (где @NOPEбудут мой фактический домен и сервер), передается и ретранслируется нормально, со всем содержимым. То же самое происходит и при передаче через локальный ретранслятор Postfix, который проходит через устройство Sophos, которое затем напрямую отправляется на сервер получателя.

Итак, похоже, что маршрутизация любой почты через Exchange Online таким образом с локальной системой, отправляющей почту через MS365, не работает. Независимо от отправленного сообщения.

Есть ли у кого-нибудь еще какие-либо локальные почтовые системы или решения, которым необходимо осуществлять маршрутизацию через MS365, и которые просто не могут этого сделать без того, чтобы Microsoft не съела сообщение целиком?

Вышеуказанное электронное письмо было отправлено в тестовый список извне, перенаправлено на локальный сервер Exchange (настройка Exchange Hybrid из-за локальных серверов рассылок), изменено для соответствия DMARC, а затем повторно передано на два внешних адреса как новое сообщение, та же проблема у получателей. Также та же проблема для внутренних получателей MS365 (внутри организации).

Опять же, доставка отлично работает через локальную систему Postfix, но не при ретрансляции через MS365 (которая явно ПРИНИМАЕТ электронные письма и ретранслирует все, КРОМЕ самого сообщения).

решение1

Ладно, похоже, я с этим разобрался, но за это мне придется накричать на Microsoft.

Сообщения в моем вопросе дословно соответствуют тому, что отправляется в Postfix и тому, что отправляется в Outlook SMTP connector. Разница, однако, в том, что Postfix правильно обрабатывает сообщение, а затем повторно передает егокак-тоспособом, который отличается от того, как smtplib Python обрабатывает передачу почты. Сообщенияиих содержимое доставляется должным образом, когда оно сначала передается на сервер Postfix для обработки, а затем отправляется через Send Connector в MS365. Что... не то, чего мы хотели, потому что мы не хотели поддерживать какой-либо фактический почтовый сервер локально, Postfix или что-то еще, и просто хотели доставлять напрямую в Microsoft 365 для обработки, а не нуждаться в «промежуточном переходе» на почтовом сервере и MTAдополучение сообщений от конечных клиентов и коннекторов.

Также странно, что Microsoft 365 не способен правильно обрабатывать сообщения, переданные ему напрямую, если только у Microsoft нет какого-то странного формата, который он хочет использовать для их обработки.не являетсяСоответствует RFC... но это уже другая история.

решение2

Соответствует ли Ваше заявление следующим требованиям? Как настроить многофункциональное устройство или приложение для отправки электронной почты с помощью Microsoft 365 или Office 365

Попробуйте использоватьОтправить почтовое сообщениеилиТелнетна вашем почтовом сервере, чтобы протестировать SMTP и посмотреть, есть ли разница.

Кроме того, возможно, следующая тема будет полезна:Отправить email stmp office 365: сообщение пусто

Связанный контент