E-Mail-Versand über OAUTH mit Office 365 mit Microsoft Graph
Zwei Versandvarianten möglich (seit Juli 2026):
- Password-Flow (bisher): FSC nutzt neben der App-Registration zusätzlich einen Postfach-Benutzernamen und ein Passwort. Funktioniert nicht, wenn im Tenant MFA oder Conditional Access erzwungen wird.
- Client-Credentials-Flow (neu, empfohlen): FSC versendet direkt als App über eine Application Permission. Kein Postfach-Passwort nötig, MFA-tauglich, deutlich sicherer. Siehe Schritt 4 unten.
Um die E-Mail Authentifizierung über Office 365 auf ein modernes OAUTH Verfahren zu nutzen, steuern wir zum E-Mail Versand direkt die Microsoft Graph API an und übergeben dort die Zugangsdaten, um mit einem API-Token die E-Mails zu versenden.
Eine User-Mailbox sollte verwendet werden, da Shared-Mailboxes keine Authentifizierungsmöglichkeiten für die API bieten. Eine Exchange-Plan2-Lizenz funktioniert allerdings für ein geteiltes Postfach!
Anleitung Variante 1)
Schritt 1: App-Registrierung erstellen
- Öffnen Sie das Microsoft Entra Admin Center (https://entra.microsoft.com)
- Navigieren Sie zu Identität → Anwendungen → App-Registrierungen
- Klicken Sie auf Neue Registrierung
- Füllen Sie die folgenden Felder aus:
- Name: <APP_NAME>
- Unterstützte Kontotypen: Nur Konten in diesem Organisationsverzeichnis
- Umleitungs-URI: Leer lassen
- Klicken Sie auf Registrieren
Schritt 2: API-Berechtigungen hinzufügen
- In der App-Registrierung zu API-Berechtigungen navigieren
- Auf Berechtigung hinzufügen klicken
- Microsoft Graph auswählen
- Anwendungsberechtigungen auswählen (NICHT delegierte Berechtigungen)
- Nach Mail.Send suchen und auswählen
- Auf Berechtigungen hinzufügen klicken
- WICHTIG: Admin-Zustimmung erteilen
- Klicken Sie auf "Administratorzustimmung für [Organisation] erteilen"
- Bestätigen Sie die Aktion
- Ein grünes Häkchen muss neben Mail.Send erscheinen
Wichtig: Ohne Admin-Zustimmung wird die Anwendung keine E-Mails versenden können (Fehler 403).
Schritt 3: Client Secret erstellen
- In der App-Registrierung zu "Zertifikate & Geheimnisse" navigieren
- Tab Geheime Clientschlüssel auswählen
- Auf Neuer geheimer Clientschlüssel klicken
- Beschreibung eingeben
- Ablaufdatum auswählen (empfohlen: 24 Monate)
- Auf Hinzufügen klicken
- Den Wert sofort kopieren und sicher speichern
Wichtig: Der Secret-Wert wird nur einmal angezeigt! Nach Verlassen der Seite ist er nicht mehr sichtbar.
Schritt 4: Postfach-Einschränkung einrichten (Sicherheit)
Standardmäßig kann die App mit Mail.Send-Berechtigung über jedes Postfach in der Organisation E-Mails versenden.
Um dies auf das Postfach einzuschränken, muss eine Application Access Policy erstellt werden.
Dies erfolgt per PowerShell (Exchange Online):
- PowerShell als Administrator öffnen
- Exchange Online Modul installieren (falls noch nicht vorhanden):
- Install-Module -Name ExchangeOnlineManagement
- Mit Exchange Online verbinden:
- Connect-ExchangeOnline -UserPrincipalName <EXCHANGE-ADMIN>
- Mail-aktivierte Sicherheitsgruppe erstellen:
- New-DistributionGroup -Name <GRUPPEN> -Alias <ALIAS> -Type Security -Members <EMAILADRESSE>
- Application Access Policy erstellen:
- New-ApplicationAccessPolicy -AppId "<CLIENT-ID-EINFÜGEN>" -PolicyScopeGroupId <GRUPPEN> -AccessRight RestrictAccess -Description <BESCHREIBUNG>
- Policy testen:
- Test-ApplicationAccessPolicy -Identity <EMAILADRESSE> -AppId "<CLIENT-ID-EINFÜGEN>"
Wichtig: Die Policy benötigt ca. 1 Stunde, bis sie tatsächlich wirksam wird, auch wenn der Test bereits "Granted" anzeigt!
Offizielle Dokumentation: Role Based Access Control for Applications in Exchange Online | Microsoft Learn
Anleitung Variante 2)
Schritt 1: Eine App innerhalb des Tenants registrieren



Schritt 2: API-Berechtigungen vergeben


Schritt 3: Technische E-Mail Einstellungen in FSC

Schritt 4 (empfohlen): Client-Credentials-Flow aktivieren
Seit Juli 2026 unterstützt FSC zusätzlich den Client-Credentials-Flow (auch App-only-Flow genannt). Vorteile: es wird kein Postfach-Passwort mehr benötigt, der Versand funktioniert auch mit erzwungener Mehrfaktor-Authentifizierung im Tenant, und die Zugangsdaten laufen nicht durch Passwortwechsel ab.
Voraussetzungen in der App-Registration
- In der Azure-App-Registration eine Application Permission
Mail.Sendhinzufügen (nicht Delegated) und den Admin Consent erteilen. - Empfohlen: eine
New-ApplicationAccessPolicyim Exchange Online per PowerShell setzen, damit die App nur aus dem gewünschten Absender-Postfach senden darf. Ohne diese Policy darf die App theoretisch aus jedem Postfach im Tenant senden. - Das Postfach in Absender-E-Mail muss die tatsächliche Mailbox-UPN sein. Alias-Adressen funktionieren nicht.
Einstellung in FSC
In den technischen E-Mail-Einstellungen die Checkbox Client-Credentials-Flow verwenden (empfohlen, kein Postfach-Passwort nötig) aktivieren. Die Felder SMTP-Benutzername und SMTP-Passwort werden dann nicht mehr benötigt.