E-Mail-Versand mit einer Microsoft-Vereinsadresse über OAuth2

Updated on 19. März 2025

E-Mail-Versand mit einer Microsoft-Vereinsadresse über OAuth2

Microsoft hat angekündigt, die Unterstützung für Basic Authentication einzustellen. Stattdessen erfolgt die Authentifizierung über OAuth2, was eine sichere und moderne Methode zur Anmeldung ist. In diesem Artikel zeigen wir dir, wie du deine Microsoft-Vereinsadresse für den E-Mail-Versand in DigitalMembers registrierst.

📌 Mehr Informationen zur Umstellung findest du hier:
🔗 Microsoft: Authenticated Client SMTP Submission

SMTP-Authentifizierung für Account aktivieren #

  • Navigiere zu: https://admin.microsoft.com/#/users
  • Wähle «Aktive Benutzer»
  • Wählen den gewünschten Account, über den du E-Mail-Nachrichten versenden möchtest.
  • Wähle «E-Mail / E-Mail-Apps verwalten»
  • Aktiviere «Authentifiziertes SMTP» und drücke auf speichern.

Neue App-Registrierung in Microsoft Azure erstellen #

Um OAuth2 für den E-Mail-Versand zu nutzen, musst du zuerst eine App in Microsoft Azure registrieren.

Schritte zur Registrierung einer neuen App: #

  • Melde dich mit deinem Admin-Account im Azure-Portal an.
  • Gehe zu Azure Active Directory / App-Registrierungen.
  • Klicke auf Neue Registrierung.
  • Gib einen Namen für deine App ein (z. B. «DigtialMembers Vereinssoftware»).
  • Wähle «Nur Konten in diesem Organisationsverzeichnis (Single-Tenant)» aus.
  • Klicke auf Registrieren.

Ein Confidential Client Secret erstellen #

Da du OAuth2 mit Client Credentials Flow nutzt, benötigt deine App ein Client Secret zur Authentifizierung.

  • Öffne die registrierte App unter Azure Active Directory / App-Registrierungen.
  • Navigiere zu Zertifikate & Geheimnisse.
  • Klicke auf Neues Geheimnis (Client Secret).
  • Gib eine Beschreibung ein (z. B. «DigtialMembers Vereinssoftware»).
  • Wähle eine gewünschte Ablaufzeit (z. B. 6 Monate, 1 Jahr oder 2 Jahre).
  • Klicke auf Hinzufügen.
  • Kopiere den generierten geheimen Schlüssel sofort und speichere ihn für später, da er nach Verlassen der Seite nicht mehr angezeigt wird.

API-Berechtigungen für den E-Mail-Versand hinzufügen #

Damit die App E-Mails über Microsoft 365 versenden kann, musst du entsprechende Berechtigungen in Azure festlegen.

Schritte zum Hinzufügen der API-Berechtigungen: #

  • Öffne deine registrierte App in Azure Active Directory > App-Registrierungen.
  • Gehe zu API-Berechtigungen / Berechtigung hinzufügen.
  • Wähle «APIs, die meine Organisation verwendet».
  • Suche nach «Office 365 Exchange Online» und wähle es aus.
  • Wähle «Anwendungsberechtigungen» (nicht Delegierte Berechtigungen).
  • Aktiviere «SMTP.SendAsApp«.
  • Klicke auf Berechtigungen hinzufügen.

Admin-Zustimmung für die API-Berechtigungen erteilen #

Da es sich um Anwendungsberechtigungen handelt, muss ein Administrator die Zustimmung für die Berechtigungen erteilen.

So gibst du die Admin-Zustimmung: #

  • Gehe in deiner App zu API-Berechtigungen.
  • Klicke auf Admin-Zustimmung erteilen.
  • Bestätige den Vorgang.

Nach diesem Schritt ist die App bereit, sich über OAuth2 zu authentifizieren und E-Mails über Microsoft 365 zu versenden.

SMTP-Server mit OAuth2 auf DigitalMembers konfigurieren #

  • Navigiere zu: «Organisationseinstellungen / Integrationen / Email-Integration» .
  • Nutze folgende Werte für deine SMTP-Konfiguration:
EinstellungWert
Auth-MethodeOAuth
Hostsmtp.office365.com
Port587 (STARTTLS) oder 465 (SSL)
Verschlüsselung<Siehe Port>
Client-ID<Overview / Application (client) ID>
Client-Secret<Certificates & Secrets / Client-Secret>
Authority URL<Overview / Endpoints / Authority URL>
Scopehttps://outlook.office365.com/.default
Absender-Email<Deine Microsoft E-Mail-Adresse>
Antwort-Email<Deine Microsoft E-Mail-Adresse>

Service Principal konfigurieren #

Ein Microsoft Service Principal ist eine spezielle Identität in Azure Active Directory (Azure AD), die für Anwendungen, Dienste oder automatisierte Prozesse genutzt wird. Er ermöglicht es, sich gegenüber Azure-Diensten zu authentifizieren, ohne dass ein Benutzerkonto erforderlich ist.

Der Service Principal muss über die Powershell hinzugefügt werden.

Powershell installieren

$ snap install powershell # Nur Mac
$ pwsh # Powershell öffnen
ps> install-module exchangeonlinemanagement
ps> Connect-ExchangeOnline

Service Principal hinzufügen:

ps> New-ServicePrincipal -AppId <Application ID> -ObjectId <Object ID>

Berechtigungen zuweisen:

ps> $AADServicePrincipalDetails = Get-AzureADServicePrincipal -SearchString [App Name]
ps> $EXOServicePrincipal = Get-ServicePrincipal -Identity "EXO Serviceprincipal for EntraAD App $($AADServicePrincipalDetails.Displayname)"
ps> Add-MailboxPermission -Identity <User E-Mail> -User $EXOServicePrincipal.Identity -AccessRights FullAccess

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

  • «Application ID»: «Enterprise Applications / Client wählen / Overview».
  • «Object ID»: «Enterprise Applications / Client wählen / Overview».

Häufige Fehler & Lösungen #

„535 5.7.3 Authentication unsuccessful“ #

Lösung:

  • Stelle sicher, dass der Benutzername mit der E-Mail-Adresse deines Microsoft-Accounts übereinstimmt.
  • Stelle sicher, dass du das richtige Client-Secret und die richtige Client-ID verwendest.
  • Admin-Zustimmung in Azure erteilen.

„InvalidGrant“ oder „AADSTS70000“ Fehler #

Lösung:

  • Prüfe, ob dein Token abgelaufen ist.
  • Stelle sicher, dass dein Benutzer SMTP-Zugriff in Microsoft Exchange Online hat:

Unable to get authority configuration #

Lösung:

Stelle sicher, dass die konfigurierte Authority URL übereinstimmt mit der Endpoint-URL von Azure unter: «Overview / Endpoints / Authority URL».

❌ Network unreachable error: smtp.office365.com/(530, b’5.7.57 Client not authenticated to send mail. Error: 535 5.7.139 Authentication unsuccessful, SmtpClientAuthentication is disabled #

Lösung:

  • Die App-Registrierung wurde nicht als Service Principal in Exchange Online hinzugefügt.
  • Die benötigten API-Berechtigungen wurden nicht korrekt erteilt.
  • SmtpClientAuthentication ist in Exchange standardmässig deaktiviert.

❌ Network unreachable error: smtp.office365.com/(530, b’5.7.57 Client not authenticated to send mail. Error: 535 5.7.139 Authentication unsuccessful, SmtpClientAuthentication is disabled #

Lösung:

  • Die App-Registrierung wurde nicht als Service Principal in Exchange Online hinzugefügt.
  • Die benötigten API-Berechtigungen wurden nicht korrekt erteilt.
  • SmtpClientAuthentication ist in Exchange standardmässig deaktiviert.

❌ 430, b’4.2.0 STOREDRV; mailbox logon failure; STOREDRV.Submission.Exception:ConnectionFailedTransientException.MapiExceptionLogonFailed; #

Lösung:

  • Stelle sicher, dass der Service Principal korrekt hinzugefügt wurde.
  • Stelle sicher, dass das Kommando «Add-MailboxPermission» korrekt ausgeführt wurde, um dem Service Principal die Berechtigung für den Mailversand zu erteilen.

Allgemeines: #

Es kann bis zu fünf Minuten dauern, bis Änderungen wirksam werden.

War dieser Artikel hilfreich?