Wegen zahlreicher Nachfragen, hier ein Beitrag zur Einrichtung einer Microsoft 365 Entra Application für den E-Mail Versand via Symfony (XOAUTH2Authenticator-Klasse), also XOAuth2Authenticator. Also eigentlich ein „wie versendet man E-Mails auf Typo3 via Microsoft 365 [Exchange Online]“ wenn OAuth2 im Einsatz ist.
Viele Web-Agenturen haben leider offenbar immer noch nicht mitbekommen, dass eine SMTP-Authentication mit Username/Kennwort keine gute Idee ist und daher von praktisch allen großen Providern abgekündigt wurde. Dazu gehören T-Online, Google, Microsoft, web.de, GMX, Cleanmail und viele weitere. Zugegeben, OAuth2 ist nicht so einfach wie „Name und Kennwort“, aber Lichtjahre sicherer.
Typo3 nutzt Symphony für den Mailversand. Selbiges hat eine XAuth-Klasse, die auch OAuth2 unterstützt. Diese Anleitung soll die Einrichtung einer solchen „Registrierten Anwendung“ („App“) erleichtern.
Typo3 und Microsoft 365
- Öffnen von Microsoft Entra (https://entra.microsoft.com/), dann den Punkt „App-Registrierungen“ auswählen:

2. Öffnen von „+ Neue Registrierung“. Hier nur den (Anzeige-)Namen eingeben und „Nur Konten in diesem Organisationsverzeichnis“ auswählen. Dann mit „Registrieren“ die App einrichten:

3. Dann zur App ein „Secret“ (Geheimnis) hinzufügen. Das ist das Authentifizierungs-Token für den Symphony-Mailer. Dort einen „Neuen geheimen Clientschlüssel“ erstellen, idealerweise mit maximaler Laufzeit. Mit „Hinzufügen“ bestätigen.

4. Das neu erstellte Secret am besten schnell an einen sicheren Ort kopieren. Wenn diese Seite geschlossen ist, gibt es keine Möglichkeit mehr, das Secret erneut anzuzeigen.

5. API-Berechtigungen für den Mailversand hinzufügen. Benötigt werden die Berechtigungen:
Mail.Send
User.Read
User.ReadBasicAll
Das geht unter „API Permissions“ (API Berechtigungen) und „Hinzufügen“.

Die Berechtigungen sind in „Microsoft Graph“ enthalten.



Für diese BErechtigungen muss der „Administrator Consent“, also die „Administratoreinwilligung“ gesetzt sein.


In Symphony wird diese Konfiguration nun übernommen, also einfach in die Config eingetragen oder ins GUI kopiert. Dieser Screenshot ist O. Krömer geklaut. Die Variablen sind perfekt benannt.

