Microsoft 365 als SMTP-Smarthost

Das Wichtigste gleich vorneweg:
Nutze keine Microsoft-Produkte. Diese Produkte dienen ausschließlich dem Konzern-Profit und nicht deiner Produktivität. Mit mailcow, grommunio und anderen Open Source-E-Mailservern wie Postfix und Konsorten gibt es gute Alternativen, die dir keine künstlichen Hürden in den Weg legen, wie es Microsoft tut. 💩

* * *

Ausgangsszenario

Ich möchte mich mit einem Benutzeraccount an einem Mailserver authentifizieren und dann im Namen eines anderen Accounts (in diesem Fall der gleichen Domain) eine Mail versenden. Also das, was bei so gut wie jedem Kontaktformular im Hintergrund gemacht wird.

Dazu hinterlege ich normalerweise die E-Mail-Zugangsdaten im Backend meiner Software für das Webformular und gebe dann die Mailadresse an, in deren Namen die ausgehenden Mails versendet werden sollen.

Manchmal kann es da noch notwendig sein, dass man im Mailserver (bspw. bei mailcow) die entsprechende Berechtigung setzen muss, um im Namen einer Domain Mails versenden zu dürfen. Meistens reicht aber die Authentifizierung aus, um Mails mit geänderter Absender-Adresse versenden zu dürfen.

Fakt ist nun, dass man mit Microsoft 365, Office 365 (oder wie es auch immer gerade heißt), genau diese marktübliche Smarthost-Funktionalität NICHT erhält.

Das, was seit Jahren "Standard" ist, ist bei Microsoft auch über Umwege nicht möglich. Stattdessen kostet es Zeit, Nerven und am Ende sogar Geld, denn der Mailversand mittels authentifiziertem SMTP ist bei Microsoft ausschließlich mit einem kostenpflichtig lizensierten Postfach möglich. Und dann auch nur mit der E-Mailadresse als Absender, die authentifiziert wurde.

Konkret bedeutet das:

* * *

Szenario 1 (Account lizensiert, Absender weicht ab)

Ich authentifiziere mich mit einem "geteilten Postfach" (z.B. info@microsofttaugtnix.de) oder einem Benutzerpostfach (z.B. gill.bates@microsofttaugtnix.de), welchem eine gültige M365-Lizenz zugeordnet ist und möchte die Absender-Adresse verändern (z.B. in noreply@microsofttaugtnix.de).

Daraufhin erhalte ich z.B. mit PHPMailer folgende Fehlermeldung:

Could not deliver external email: SMTP Error: data not accepted.SMTP server error: DATA END command failed Detail: 5.2.252 SendAsDenied; info@microsofttaugtnix.de not allowed to send as noreply@microsofttaugtnix.de

Und mit mailrelay folgende Fehlermeldung:

Error closing writer: 554 5.2.252 SendAsDenied; info@microsofttaugtnix.de not allowed to send as noreply@microsofttaugtnix.de; STOREDRV.Submission.Exception:SendAsDeniedException.MapiExceptionSendAsDenied; Failed to process message due to a permanent exception with message [BeginDiagnosticData]Cannot submit message.

Einzige Lösung

Die ausgehenden Mails im Namen des authentifizierten Accounts versenden.

* * *

Szenario 2 (Account nicht lizensiert)

Ich authentifiziere mich mit einem "geteilten Postfach" (z.B. info@microsofttaugtnix.de) oder einem Benutzerpostfach (z.B. gill.bates@microsofttaugtnix.de), welchem KEINE gültige M365-Lizenz zugeordnet ist. Ob dabei ich die Absender-Adresse verändere (z.B. in noreply@microsofttaugtnix.de) oder nicht, spielt keine Rolle.

Ich erhalte z.B. mit PHPMailer immer folgende Fehlermeldung:

Could not deliver external email: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

Und mit mailrelay immer folgende Fehlermeldung:

Error closing client: tls: use of closed connection
auth error: 535 5.7.139 Authentication unsuccessful, the user credentials were incorrect.

Grund dafür ist, dass man mit einem Account ohne gültige Lizenz kein authentifiziertes SMTP nutzen kann. Die Fehlermeldung ist allerdings vollkommen irreführend, denn die Zugangsdaten sind ja korrekt.

Einzige Lösung

Dem Account eine kostenpflichtige M365-Lizenz zuweisen. 🤑💩

* * *

Besonderheiten

Der Mailversand an Microsoft-Server mit der Adresse smtp.office365.com ist ausschließlich über STARTTLS an Port 587 möglich. SSL und Port 465 funktionieren nicht.

* * *

Fazit

Ein Grund mehr, sämtliche Microsoft-Produkte sukzessive durch Open Source-Alternativen zu ersetzen, die sich an etablierte Standards halten, Spaß machen und keine künstlichen (Bezahl-)Schranken einbauen.

* * *
Christian Süßenguth Christian Süßenguth @sweetgood

Hi, ich bin Christian und Inhaber der Firma SWEETGOOD. Mit dem andersGOOD Blog möchte ich auch dich für datensichere IT-Lösungen begeistern. So bringst du dein Unternehmen voran, ohne großen Konzernen deine wertvollen Daten zu liefern. Probiers mal anders!


Kommentarbereich

Die Kommentare sind für dich noch deaktiviert, da du dem Setzen von Cookies bisher nicht zugestimmt hast.
Klicke oben rechts auf "Ja, klar!" und lade die Seite neu, um die Kommentare anzuzeigen.

Seite neu laden

👾 Magst du Kekse?

Ich würde gerne Cookies setzen

Ist das OK für dich?