VorgehensweiseOffpaper kann über eine Anwendung (App-Registrierung) im Azure Entra ID auf Exchange Online zugreifen, um E-Mails zu versenden. Zuerst muss daher eine Anwendung in Azure angelegt werden. Dann wird ein geheimer Schlüssel (Client-Secret) für Offpaper erstellt. Außerdem benötigt die Anwendung Zugriff auf den Exchange-Online Server. Wenn alles in Azure richtig eingerichtet und konfiguriert ist, kann der geheime Schlüssel bei Offpaper eingegeben werden. Dann wird getestet, ob alles funktioniert. Die E-Mail wird dann von einer E-Mail-Adresse deiner eigenen Organisation versendet, z.B. noreply@deinefirma.de. Diese muss dazu nicht als eigenes Postfach existieren.
Die Microsoft-Dokumentation dazu findest Du hier: https://learn.microsoft.com/en-us/exchange/client-developer/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth
Eine gute Videoanleitung zur Microsoft-Konfiguration: https://www.youtube.com/watch?v=5iRiZU0UgbM&ab_channel=Microsoft%26beyond
Führe die folgenden Schritte nacheinander aus.
Melde dich bei Microsoft Azure an oder erstelle ein Azure-KontoMelde dich zunächst bei Azure an. Falls Du kein Azure-Konto hast, kannst Du hier ein Azure-Konto erstellen. Dann klicke auf “Microsoft Entra ID”:

Erstelle eine neue Anwendung (“App Registration”)Wähle den Menüpunkt “App Registrations” und klicke anschließend auf “New Registration”:

Wähle “Offpaper E-Mail” als Namen und klicke anschließend auf “Register”, um die Anwendung zu erstellen:

Gib deiner Anwendung Rechte zum Versenden von E-MailsKlicke auf deine neu erstellte Anwendung und anschließend im Menü auf “Manage→API Permissions”. Klicke anschließend auf “Add a permission”:

Suche nach “Office” und klicke anschließend auf “Office 365 Exchange Online”:

Wähle den Reiter “Application Permissions” und setze den Haken bei “SMTP.SendAsApp” unter “SMTP”:

Klicke auf “Grant admin consent ..” und bestätige die Aktion im Popup:

Erstelle einen geheimen Schlüssel (“Client Secret”)Notiere dir Application (client) ID und Directory (tenant) ID aus der Übersicht:

Erstelle unter “Certificates und secrets” ein neues Client secret für Offpaper (“New client secret”). Kopiere dir den “Value”, er kann nachträglich nicht mehr angezeigt werden.


Gib deiner Anwendung Zugriff auf Exchange OnlineDeine Anwendung (App Registrierung) soll nun Zugriff auf Exchange Online bekommen. Das funktioniert mit der Exchange Online Powershell. Öffne an deinem Windows-Gerät die Windows Powershell als Administrator:

Führe das folgende Powershell-Skript in der geöffneten Powershell-Konsole aus. Im Abschnitt 2 musst Du zuvor deine Application (client) ID, deine Directory (tenant) ID (die zwei Schlüssel aus Punkt 4) und deine gewünschte Absender-E-Mail zwischen den Anführungszeichen eintragen. Schritt 5C ist optional, es ist kein Problem, wenn er fehlschlägt. Kopiere das Skript aus dem folgenden Abschnitt oder lade es als Datei herunter.
# =================================================================================
# Entra ID App & Exchange Online Integration verbinden (Version 2026)
# =================================================================================
# --- 1. MODUL-INSTALLATION ---
Write-Host "1. Installiere notwendige Module..." -ForegroundColor Cyan
Install-Module ExchangeOnlineManagement -MinimumVersion 3.0.0 -Scope CurrentUser -Force -AllowClobber
Install-Module Microsoft.Graph.Authentication -Scope CurrentUser -Force -AllowClobber
Install-Module Microsoft.Graph.Applications -Scope CurrentUser -Force -AllowClobber
# --- 2. VARIABLEN (Bitte hier anpassen) ---
$TenantId = "<TENANT ID AUS AZURE kopieren>"
$AppId = "<APP ID/CLIENT ID aus AZURE kopieren>"
$TargetMailbox = "<E-Mail Adresse des gewünschten Postfaches>"
$DisplayName = "Offpaper Principal"
# --- 3. VERBINDUNGSAUFBAU (Reihenfolge zur Vermeidung von DLL-Fehlern) ---
Write-Host "2. Verbinde mit Diensten..." -ForegroundColor Cyan
# Zuerst Exchange laden (behebt 'Method not found' Fehler)
Import-Module ExchangeOnlineManagement
Connect-ExchangeOnline -Organization $TenantId
# Danach Graph-Untermodule laden (behebt 'Function Overflow')
Import-Module Microsoft.Graph.Authentication
Import-Module Microsoft.Graph.Applications
Connect-MgGraph -TenantId $TenantId -Scopes "Application.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"
# --- 4. IDENTITÄT ABRUFEN ---
$ServicePrincipal = Get-MgServicePrincipal -Filter "AppId eq '$AppId'"
if ($null -eq $ServicePrincipal) {
Write-Error "App-ID $AppId wurde nicht gefunden!"; return
}
$PrincipalId = $ServicePrincipal.Id
# --- 5. BERECHTIGUNGEN SETZEN (Der Kern der Lösung) ---
# A) App in Exchange registrieren (Zwingend für SMTP/IMAP/POP3)
Write-Host "3. Registriere Service Principal in Exchange..." -ForegroundColor Cyan
$DisplayName = "Exchange Service Principal für App"
New-ServicePrincipal -AppId $AppId -ServiceId $PrincipalId -DisplayName $DisplayName -ErrorAction SilentlyContinue
# B) Rechte vergeben (Nötig für SMTP/IMAP/EWS)
Write-Host "4. Erlaube Postfach-Zugriff..." -ForegroundColor Cyan
Add-MailboxPermission -Identity $TargetMailbox -User $PrincipalId -AccessRights FullAccess -InheritanceType All
# C) Modernes Scoping (Sicherheit für Graph API) - Dieser Schritt ist optional
Write-Host "5. Erstelle Application Access Policy (Modern)..." -ForegroundColor Cyan
New-ApplicationAccessPolicy -AppId $AppId `
-PolicyScopeGroupId $TargetMailbox `
-AccessRight RestrictAccess `
-Description "Einschränkung der App auf $TargetMailbox"
# --- 6. ABSCHLUSS ---
Write-Host "------------------------------------------------------------" -ForegroundColor Yellow
Write-Host "SETUP ERFOLGREICH ABGESCHLOSSEN!" -ForegroundColor Green
Write-Host "Die App kann nun via Graph API, SMTP, IMAP oder EWS auf $TargetMailbox zugreifen."
Write-Host "WICHTIG: Es kann bis zu 60 Min. dauern, bis Exchange die Policy übernimmt." -ForegroundColor Yellow
Write-Host "------------------------------------------------------------"
( Optional) Login schlägt fehlFalls der Microsoft Login aus der Konsole fehlschlägt wegen eines Fehlers wie “invalid redirect uri”: Kopiere die URL aus der Fehlermeldung und füge sie in Azure in der Anwendung (App Registrierung) unter Redirect URIs hinzu. Füge hierzu erst die Platform “Mobile and Desktop Applications” hinzu und klicke danach auf “Add URI”. Die Aktualisierung kann einige Minuten dauern.

Gib die Zugangsdaten in Offpaper einGehe in Offpaper in den Einstellungen auf “SMTP-Konfiguration” und klicke auf “SMTP-Server anbinden”:

Wähle unter E-Mail Anbieter “Outlook Exchange Online via Azure Entra ID” aus:

Füge Client-Id, Client-Secret und Tenant-ID aus Azure ein. Fülle die restlichen Felder aus.

Einstellungen speichern. Fertig.Prüfe deine Einstellungen. Wenn die SMTP-Einstellungen gültig sind, klicke auf Speichern. E-Mails werden nun über deinen Exchange-Server verschickt.
