Konfiguration von OAuth Login mit MS 365 Exchange Online


Sie sind hier: InLoox Support Dokumentation Support-Artikel Konfiguration von OAuth Login mit MS 365 Exchange Online

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:

https://techcommunity.microsoft.com/blog/exchange/exchange-online-to-retire-basic-auth-for-client-submission-smtp-auth/4114750

Voraussetzungen & allgemeine Empfehlungen

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.

Konfigurationsanleitung:

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:

  1. Erstellen einer Entra ID App (früher Azure App)
  2. Erstellen eines Service Principals und Verknüpfung dessen mit einem Postfach
  3. Aktivierung von SMTP Auth für das Postfach
  4. Konfiguration der OAuth Anmeldung im InLoox OnPrem Server

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.

1. Erstellen einer Entra ID App

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. 

2. Erstellen eines Service Principals und Verknüpfung dessen mit einem Postfach

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 )

  • Sofern Sie Windows Server 2016 verwenden müssen zunächst folgende Befehle ausgeführt werden:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Install-PackageProvider -Name NuGet

  • Es wird das ExchangeOnlineManagement-Modul benötigt.

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.

  • Für den nun folgenden Befehl benötigen Sie die Werte für <APPLICATION_ID> und <OBJECT_ID>. Hierzu gehen Sie wie folgt vor:
    • Öffnen Sie den Bereich Unternehmensanwendungen.

    • Für <APPLICATION_ID> verwenden Sie die Anwendungs-ID (Client) aus der dritten Spalte
    • Für <OBJECT_ID> verwenden Sie Objekt-ID aus der zweiten Spalte. Die Objekt-ID aus dem Bereich App-Registrierungen darf NICHT verwendet werden. Ansonsten wird der nachfolgende Befehl fehlschlagen.

    • Anschließend führen Sie folgenden Befehl in Powershell Kommandozeile aus um ein ServicePrincipal zu erstellen
    • New-ServicePrincipal -AppId <APPLICATION_ID> -ObjectId <OBJECT_ID>

      Hierbei sind die Platzhalter <APPLICATION_ID> und <OBJECT_ID> zu ersetzen.

    • Nun muss das erstellte ServicePrincipal mit einem Mail Postfach verknüpft werden. Hierzu benötigen Sie die ID des eben erstellten ServicePrincipals. Führen Sie hierzu folgenden PowerShell Befehl aus:

Get-ServicePrincipal | fl

  • Diese ID benötigen Sie für den <SERVICE_PRINCIPAL_ID> Platzhalter des folgenden Befehls

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.

3. Aktivierung von SMTP Auth für das Postfach

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:

https://learn.microsoft.com/en-us/exchange/clients-and-mobile-in-exchange-online/authenticated-client-smtp-submission

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.

4. Konfiguration der OAuth Anmeldung im InLoox OnPrem Server

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.