Zum Inhalt springen

Formularbaukasten › Einstellungen

E-Mails über Microsoft 365 / Exchange verschicken

Anwendung in Azure Entra ID anlegen, Client-Secret erzeugen, Zugriff auf Exchange Online freigeben und in Offpaper hinterlegen - Schritt für Schritt.

Damit Offpaper E-Mails über deine Microsoft-365-Adresse verschickt, greift Offpaper über eine eigene Anwendung („App-Registrierung“) in Azure Entra ID auf Exchange Online zu. Du legst diese Anwendung einmalig an, erzeugst darin einen geheimen Schlüssel, gibst ihr Zugriff auf das gewünschte Postfach und trägst die drei entstehenden Werte in Offpaper ein. Diese Seite richtet sich damit eher an deine IT - gib sie im Zweifel einfach an sie weiter.

Diese Anleitung führt durch Oberflächen von Microsoft, die sich unabhängig von Offpaper ändern können. Die maßgebliche Quelle bleibt die Microsoft-Dokumentation zur OAuth-Authentifizierung für SMTP.

Melde dich bei Microsoft Azure an und öffne Microsoft Entra ID. Falls Du noch kein Azure-Konto hast, legst Du zuerst eines an.

Azure-Portal mit dem hervorgehobenen Eintrag Microsoft Entra ID in der Dienste-Übersicht
  1. Wähle den Menüpunkt App registrations und klicke auf New registration.

    Menüpunkt App registrations in Microsoft Entra ID mit dem Button New registration
  2. Vergib einen Namen, zum Beispiel Offpaper E-Mail, und klicke auf Register.

    Registrierungsformular mit dem eingetragenen Anwendungsnamen und dem Button Register
  1. Öffne die neue Anwendung und gehe im Menü auf Manage → API permissions. Klicke auf Add a permission.

    Ansicht API permissions der neu angelegten Anwendung mit dem Button Add a permission
  2. Suche nach Office und wähle Office 365 Exchange Online.

    Auswahlliste der APIs mit dem Suchbegriff Office und dem markierten Eintrag Office 365 Exchange Online
  3. Wechsle auf den Reiter Application permissions und setze den Haken bei SMTP.SendAsApp unter „SMTP“.

    Reiter Application permissions mit der ausgewählten Berechtigung SMTP.SendAsApp
  4. Klicke auf Grant admin consent und bestätige im Dialog. Ohne diesen Schritt bleibt die Berechtigung wirkungslos.

    Berechtigungsübersicht mit dem Button Grant admin consent und dem Bestätigungsdialog
  1. Notiere dir aus der Übersicht der Anwendung die Application (client) ID und die Directory (tenant) ID. Beide brauchst Du später in Offpaper und im PowerShell-Skript.

    Übersichtsseite der Anwendung mit Application (client) ID und Directory (tenant) ID
  2. Lege unter Certificates & secrets über New client secret einen neuen geheimen Schlüssel an.

    Ansicht Certificates und secrets mit dem Button New client secret
  3. Kopiere den Value sofort.

    Liste der Client-Secrets mit der Spalte Value des neu erzeugten Schlüssels

Die Anwendung braucht zusätzlich Zugriff auf das konkrete Postfach. Das lässt sich nur über die Exchange Online PowerShell einrichten, nicht über die Azure-Oberfläche.

Öffne dazu auf einem Windows-Gerät die Windows PowerShell als Administrator.

Windows-Startmenü mit der Option, die PowerShell als Administrator auszuführen

Trage im Abschnitt „2. VARIABLEN“ deine Tenant-ID, deine App-ID und die gewünschte Absenderadresse ein und führe das Skript anschließend aus:

Terminal-Fenster
# =================================================================================
# 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>"
$ScopeGroupAddress = "smtp-scope-offpaper@<deine-firma>.de"
$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"
# --- SMTP AUTH AKTIVIEREN ---
Write-Host "Aktiviere SMTP-Authentifizierung auf dem Postfach..." -ForegroundColor Cyan
Get-CASMailbox -Identity $TargetMailbox | Select-Object SmtpClientAuthenticationDisabled
Set-CASMailbox -Identity $TargetMailbox -SmtpClientAuthenticationDisabled $false
# --- 4. IDENTITAET 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 Loesung) ---
# A) App in Exchange registrieren (Zwingend fuer SMTP/IMAP/POP3)
Write-Host "3. Registriere Service Principal in Exchange..." -ForegroundColor Cyan
$DisplayName = "Exchange Service Principal fuer App"
New-ServicePrincipal -AppId $AppId -ServiceId $PrincipalId -DisplayName $DisplayName -ErrorAction SilentlyContinue
# B) Rechte vergeben (Noetig 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) - MAILAKTIVIERTE SICHERHEITSGRUPPE
Write-Host "5. Erstelle Application Access Policy (Modern)..." -ForegroundColor Cyan
New-DistributionGroup -Name "SMTP-Scope-Offpaper" -Type Security -PrimarySmtpAddress $ScopeGroupAddress -ErrorAction SilentlyContinue
Add-DistributionGroupMember -Identity "SMTP-Scope-Offpaper" -Member $TargetMailbox -ErrorAction SilentlyContinue
New-ApplicationAccessPolicy -AppId $AppId `
-PolicyScopeGroupId $ScopeGroupAddress `
-AccessRight RestrictAccess `
-Description "Einschraenkung 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 1 bis 2 Stunden (selten: 24-48 Stunden) dauern, bis Exchange die " -ForegroundColor Yellow
Write-Host "Policy uebernimmt. Ein negativer Testversuch direkt nach der Konfiguration ist " -ForegroundColor Yellow
Write-Host "daher kein zuverlaessiger Hinweis auf einen Konfigurationsfehler." -ForegroundColor Yellow
Write-Host "------------------------------------------------------------"

Scheitert der Microsoft-Login aus der PowerShell mit einem Fehler wie „invalid redirect uri“, kopiere die URL aus der Fehlermeldung und trage sie in Azure bei deiner Anwendung unter Redirect URIs nach. Füge dafür zuerst die Plattform Mobile and desktop applications hinzu.

Azure-Ansicht zum Ergänzen einer Redirect URI für die Plattform Mobile and desktop applications
  1. Öffne in Offpaper Einstellungen → SMTP-Konfiguration und klicke auf SMTP-Server anbinden.

    Seite E-Mail SMTP Konfiguration in Offpaper mit dem Button SMTP-Server anbinden
  2. Wähle als E-Mail Anbieter Outlook Exchange Online via Azure Entra ID.

    Auswahlliste E-Mail Anbieter mit dem markierten Eintrag Outlook Exchange Online via Azure Entra ID
  3. Trage Client-Id, Client-Secret und Tenant-Id aus Azure ein und fülle die übrigen Felder aus.

    Ausgefülltes SMTP-Modal mit den Feldern Client-Id, Client-Secret und Tenant-Id
  4. Klicke auf SMTP-Einstellungen prüfen. Ist die Prüfung erfolgreich, speicherst Du mit Speichern.

    Bestätigung der erfolgreichen SMTP-Prüfung im Modal, darunter der Button Speichern

Ab jetzt verschickt Offpaper die E-Mails aus deinen Workflows über deinen Exchange-Server.

Siehe auch: