Leere E-Mail bei Verwendung von MS365 als Mail-Relay aus einer Python-Anwendung

Leere E-Mail bei Verwendung von MS365 als Mail-Relay aus einer Python-Anwendung

Wir haben hier ein sehr seltsames Problem.

Nehmen Sie diese Beispiel-E-Mail (Rohform, bereinigt):

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

Dies wird direkt über SMTP an einen Sendeconnector bei MS365 gesendet, der so konfiguriert ist, dass er E-Mails von unserem lokalen Mailserver empfängt und zur Weiterleitung an MS365 zur Weiterleitung ins Internet konfiguriert.

Außer... während die E-Mail an die externen Zielempfänger weitergeleitet wird... sendet sie tatsächlich nur den An-, Von-, Betreff usw., aber vollständigignoriertder eigentliche Inhalt der Nachricht. Dies wurde auch durch die direkte Übermittlung einer MIMEText()-Test-E-Mail in Python repliziert.

Dieselbe E-Mail wird jedoch, wenn sie direkt an die externen Mailserver gesendet wird, auf denen ich sie empfange (wo @NOPEsich meine eigentliche Domäne und mein Server befinden), mit dem gesamten Inhalt problemlos übertragen und weitergeleitet. Dasselbe passiert auch, wenn wir über ein lokales Postfix-Relay übertragen, das über ein Sophos-Gerät läuft, das dann direkt an den Empfängerserver geht.

Es scheint also, dass das Weiterleiten von E-Mails über Exchange Online auf diese Weise mit einem lokalen System, das E-Mails über MS365 sendet, überhaupt nicht funktioniert. Unabhängig von der übermittelten Nachricht.

Hat sonst noch jemand hier ein oder mehrere lokale Mailsysteme oder -lösungen, die über MS365 geroutet werden müssen und dazu einfach nicht in der Lage sind, ohne dass Microsoft die gesamte Nachricht verschluckt?

Die obige E-Mail wurde von extern an die Testliste gesendet, an einen lokalen Exchange-Server weitergeleitet (Hybrid-Setup von Exchange aufgrund lokaler Listservs), zur DMARC-Konformität geändert und dann als neue Nachricht an zwei externe Adressen weitergeleitet. Dasselbe Problem bei den Empfängern. Dasselbe Problem auch bei internen MS365-Empfängern (innerhalb der Organisation).

Auch hier funktioniert die Zustellung über Postfix-Material vor Ort einwandfrei, jedoch nicht bei der Weiterleitung über MS365 (das die E-Mails eindeutig AKZEPTIERTE und alles AUSSER der eigentlichen Nachricht erneut übermittelte).

Antwort1

OK, es sieht so aus, als hätte ich das herausgefunden, aber dafür muss ich Microsoft anschreien.

Die Nachrichten in meiner Frage sind wörtlich das, was an Postfix gesendet wird und das, was an den Outlook-SMTP-Connector gesendet wird. Der Unterschied besteht jedoch darin, dass Postfix die Nachricht ordnungsgemäß verarbeitet und sie dann erneut überträgt.irgendwieauf eine Weise, die sich von der Art und Weise unterscheidet, wie Pythons smtplib die E-Mail-Übertragung handhabt. NachrichtenUndIhre Inhalte werden ordnungsgemäß zugestellt, wenn sie zunächst zur Verarbeitung an einen Postfix-Server übergeben werden, bevor sie über den Send Connector bei MS365 versendet werden. Das ist nicht das, was wir wollten, da wir keinen tatsächlichen Mailserver vor Ort unterhalten wollten, weder Postfix noch sonst einen, sondern nur direkt an Microsoft 365 zur Verarbeitung liefern wollten, anstatt einen „Mittelsmann-Hop“ in einem Mailserver und MTA zu benötigen.VorEmpfangen von Nachrichten von Endpunktclients und -konnektoren.

Es ist auch seltsam, dass Microsoft 365 nicht in der Lage ist, Nachrichten, die direkt an das Unternehmen gesendet werden, richtig zu verarbeiten, es sei denn, Microsoft hat ein seltsames Format, das es verarbeiten möchte.ist nichtRFC-konform … aber das ist ein anderer Kampf.

Antwort2

Erfüllt Ihre Bewerbung folgende Voraussetzungen? So richten Sie ein Multifunktionsgerät oder eine Anwendung zum Senden von E-Mails mit Microsoft 365 oder Office 365 ein

Versuchen Sie es mitSende-MailMessageoderTelnetauf Ihrem E-Mail-Server, um SMTP zu testen und zu sehen, ob es einen Unterschied gibt.

Außerdem ist vielleicht der folgende Thread hilfreich:E-Mail senden stmp office 365: Nachricht leer

verwandte Informationen