Frage:
Wie kann eine OAuth Anmeldung zum SMTP Mail Versand mit MS 365/Exchange Online konfiguriert werden.
Antwort:
WICHTIG Diese Anleitung ist nur für InLoox OnPrem relevant. Für InLoox Cloud muss keine Azure App angelegt werden.
WICHTIG Diese Anleitung ist nur für Kunden relevant, welche die automatisierten Emails über Exchange Online versenden (smtp.office365.com).
WICHTIG Bitte stellen Sie sicher, dass der InLoox OnPrem Server mindestens in Version 11.17 installiert ist.
Hintergrund:
Ab September 2025 stellt Microsoft die Unterstützung für Basic Authentication (SMTP AUTH) für Exchange Online ein. Ab dann ist der Mail Versand mit Username + Kennwort Anmeldung nicht mehr möglich. Details dazu finden Sie in der entsprechenden Ankündigung von Microsoft:
Um die SMTP-Konfiguration entsprechend dieser Anleitung durchzuführen, benötigen Sie einen eigenen Entra ID Tenant. In diesem sind Administratorrechte zur Konfiguration der notwendigen Einstellungen notwendig.
Sie benötigen grundlegende Kenntnisse in der Administration von MS 365 / MS Entra ID, sowie in der Verwendung von MS PowerShell.
HINWEISDamit die Konfiguration erfolgreich durchgeführt werden kann, dürfen die „Sicherheitsstandards in Microsoft Entra ID“ bzw. „Security Defaults“ in Ihrem Tenant nicht aktiviert sein. Weitere Informationen finden Sie unter folgendem Link: https://learn.microsoft.com/de-de/entra/fundamentals/security-defaults
HINWEISWir empfehlen daher die Verwendung zusätzlicher Sicherheitsmaßnahmen wie 2 Faktor Authentifizierung und den bedingten Zugriff („Conditional Access“) (https://learn.microsoft.com/de-de/entra/identity/conditional-access/overview). Insbesondere für die anzulegende Entra ID App empfiehlt sich der bedingte Zugriff mit IP-Sperre oder ähnlichem.
Die folgenden Schritte orientieren sich an folgendem Hilfe Artikel von Microsoft: https://learn.microsoft.com/en-us/exchange/client-developer/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth#use-client-credentials-grant-flow-to-authenticate-smtp-imap-and-pop-connections
Die Anleitung gliedert sich in folgende Schritte:
HINWEISSie benötigen für den automatisierten E-Mail-Versand einen MS365 Benutzer mit Email Postfach in Exchange Online. Dieser wird im Verlauf der Einrichtung benötigt. In dessen Namen werden dann die Emails versendet.
HINWEISSofern Sie bereits eine Entra ID App für InLoox eingerichtet haben (für SSO, Sharepoint Online etc., s. separater Hilfe-Artikel) können Sie diese grundsätzlich auch für dem Mailversand weiterverwenden. Aus Sicherheitsgründen empfehlen wird jedoch explizit eine separate App zu verwenden.
1. Melden Sie sich in Ihrem Azure Portal im Web an.
2. Wechseln Sie zum Dienst Microsoft Entra Id.
3. Wechseln Sie über das Seitenpanel zu App-Registrierungen.
4. Klicken Sie im oberen Bereich auf + Neue Registrierung.
5. Vergeben Sie einen Namen (zB „InLoox SMTP via OAuth“), wählen Sie bei Unterstützte Kontotypen „Nur Konten in diesem Organisationsverzeichnis – einzelner Mandant“ und klicken Sie anschließend auf Registrieren.
HINWEISDie anderen Kontotypen sind grundsätzlich kompatibel aber in den meisten Szenarien nicht relevant.
6. Wechseln Sie nun in im Seitenpanel zu API-Berechtigungen.
7. Klicken sie auf + Berechtigung hinzufügen und wählen Sie Von meiner Organisation verwendete APIs.
8. Dort suchen Sie nach „Office 365 Exchange Online“ und selektieren diesen Eintrag dann.
9. Hier wählen Sie nun Anwendungsberechtigung.
10. Dort suchen Sie nach SMTP und wählen dann den Eintrag SMTP.SendAsApp.
11. Anschließend bestätigen Sie dies via Berechtigung hinzufügen.
12. Nun wählen Sie Administratorzustimmung für „Ihre Entra ID Domain“ erteilen und bestätigen die Sicherheitsabfrage mit JA.
Das Ergebnis muss dann wie im folgenden Screenshot aussehen:
13. Wechseln sie nun über das Seitenpanel zu Zertifikate & Geheimnisse. Unter Geheime Clientschlüssel klicken Sie nun auf + Neuer geheimer Clientschlüssel. Vergeben Sie hier einen Namen und eine Gültigkeitsdauer und klicken Sie auf Hinzufügen.
HINWEISSichern Sie unbedingt den Wert des Schlüssels. Dieser wird hier nur einmalig angezeigt. Sollten Sie den Wert des Schlüssels nicht sichern, müssen Sie einen neuen Schlüssel anlegen. Der Wert wird im späteren Verlauf dieser Anleitung benötigt.
HINWEISBitte beachten Sie die Gültigkeit des Schlüssels. Nach Ablauf der Gültigkeit ist kein E-Mail-Versand mehr möglich. Das Geheimnis muss danach aktualisiert werden.
Für die folgenden Schritte ist Windows PowerShell erforderlich.
(Die detaillierte Anleitung mit weiteren Erklärungen finden Sie hier: https://learn.microsoft.com/en-us/exchange/client-developer/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth#register-service-principals-in-exchange )
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Install-PackageProvider -Name NuGet
Installieren Sie dies mit Hilfe folgender Befehle:
Install-Module -Name ExchangeOnlineManagement
Import-module ExchangeOnlineManagement
Connect-ExchangeOnline -Organization <tenantId>
Der Platzhalter <tenantId> muss hierbei durch Ihre TenantId (MandantenId) ersetzt werden.
Evtl. treten Sicherheitsabfragen auf - diesen stimmen Sie zu.
New-ServicePrincipal -AppId <APPLICATION_ID> -ObjectId <OBJECT_ID>
Hierbei sind die Platzhalter <APPLICATION_ID> und <OBJECT_ID> zu ersetzen.
Get-ServicePrincipal | fl
Add-MailboxPermission -Identity "john.smith@contoso.com" -User <SERVICE_PRINCIPAL_ID> -AccessRights FullAccess
Ersetzen Sie zusätzlich john.smith@contoso.com mit dem Postfach, von dem die Emails versendet werden sollen.
In der Standardkonfiguration ist SMTP Auth für alle Postfächer deaktiviert. Es kann jedoch für einzelne Postfächer aktiviert werden. Detaillierte Information finden Sie unter folgendem Link:
Um SMTP Auth für ein einzelnes Postfach zu aktivieren, verwenden Sie folgenden Powershell Befehl. Verwenden Sie das PowerShell Fenster aus Schritt 2). Dieses ist bereits an Exchange Online entsprechend angemeldet.
Set-CASMailbox -Identity john.smith@contoso.com -SmtpClientAuthenticationDisabled $false
Ersetzen Sie john.smith@contoso.com mit dem Postfach von dem die Emails versendet werden sollen.
HINWEISSofern ein komplett neues Postfach eingerichtet wurde, dauert es ggf. bis zu einem Tag, bis der Mailversand über dieses Postfach möglich ist.
Nun können Sie die erstellte Konfiguration im InLoox OnPrem Server Setup hinterlegen.
Wählen Sie „OAuth mit MS365“. Der Servername, Port und Verschlüsselungsmodus werden automatisch vorselektiert, sofern Sie mit komplett neuer Konfiguration starten.
SMTP-Servername: | smtp.office365.com |
Sender email adress: | Die Absender Emailadresse des in Schritt 2) gewählten Postfachs |
Sender email name: | Der Absendername des in Schritt 2) gewählten Postfachs |
Username: | Der Benutzername des in Schritt 2) gewählten Postfachs |
TenantId: | Die Tenant-/MandantenId Ihres Entra IDs |
ClientId: | Die Client-/AnwendungsId der erstellten Azure App |
Client Secret: | Das in Schritt 1) erstelle Client Secret |
Port: | Der Port für den SMTP-Versand, hier üblicherweise 587 |
Encryption: | Der Verschlüsselungsmodus, hier üblicherweise Start TLS |
Senden Sie nun eine Test-E-Mail an ein beliebiges Postfach. Ist dies erfolgreich können Sie fortfahren.
Bei einer Fehlermeldung überprüfen Sie den Fehlertext.
HINWEISIn manchen Fällen benötigen die Konfigurationen aus Schritt 2) und 3) etwas Zeit, bis diese in Exchange Online auch effektiv sind. Bei etwaigen Fehlermeldungen prüfen Sie also zunächst nochmals die Konfiguration. Sofern diese korrekt ist, empfiehlt es sich einige Zeit (15-30 Minuten) zu warten. Anschließend können Sie erneut versuchen die Test-E-Mail zu versenden.
Nach Einrichtung eines neuen Benutzers kann es auch bis zu 24h zum erfolgreichen E-Mail-Versand dauern.