Toolmaker Produkt-Dokumentation
Microsoft Exchange 365 - POP mit XOAUTH
Inhaltsübersicht
.
Schritt 1: registrieren einer App in Azure
Die hierfür erforderlichen Schritte sind auf der Seite https://learn.microsoft.com/de-de/azure/active-directory/develop/quickstart-register-app beschrieben.
Um directmail/directspool für XOAUTH zu enablen müssen die folgenden Schritte ausgeführt werden, die dort beschrieben sind:
Registrieren der Anwendung - Definition der clientID und Ermitteln der tenantID
Beschreibung: https://learn.microsoft.com/de-de/azure/active-directory/develop/quickstart-register-app#register-an-application
Ergänzende Hinweise zu dieser Seite:
- in Schritt 6 wird "Nur Konten in diesem Organisationsverzeichnis" benötigt (im Screenshot heisst das: "Accounts in this organizational directory only .. - Singlet tenant")
- Bei Redirect URI (optional) - nichts eingeben
- Das Registrieren der App endet mit der Anzeige der clientID
Hinweis: diese wird auch als "Application ID" bezeichnet
Notieren Sie die beiden Angaben:
1. Application (client) ID → clientID
2. Directory (tenant) ID → tenantID
Hinzufügen von Anmeldeinformation - Definition der clientID und Ermitteln des clientsecret
Beschreibung: https://learn.microsoft.com/de-de/azure/active-directory/develop/quickstart-register-app#add-a-client-secret
Ergänzende Hinweise zu dieser Seite:
- Wenn das clientsecret erstellt ist, wird es genau einmal angezeigt. Sofort notieren! → clientsecret
- Wir benötigten nicht:
- Zertifikat
- Verbundanmeldeschlüssel
Schritt 2: POP für "Clients" (also directmail/directspool) verfügbar machen
POP-Berechtigung hinzufügen
Ergänzende Hinweise zu dieser Seite:
- für directmail/directspool muss "POP.AccessAsApp" aktiviert werden
- IMAP ist nicht erforderlich
Zustimmung des Mandantenadministrators abrufen
Ergänzende Hinweise zu dieser Seite:
- Grant admin consent aktivieren
Schritt 3: in Exchange 365: Dienstprinzipale registrieren
Ergänzende Hinweise zu dieser Seite:
- Diese Schritte erfolgen in PowerShell, mit einem eigens zu installierenden PowerShell-Applet namens "ExchangeOnlineManagement"
- Hiermit wird das Recht vergeben, dass man mit dem clientsecret Zugriff auf die targetMailbox hat.
MSAL.PS - Powershell-Wrapper für die MSAL.NET
Die Powershell-App MSAL.PS ist ein Wrapper für MSAL.NET, der es ermöglicht, die Befehle aus Powershell zu rufen.
Diese App wird nicht von Microsoft gepflegt, sie ist ein Gitub-Projekt: https://github.com/AzureAD/MSAL.PS/tree/master/src
Installation von MSAL.PS
1. Powershell als Administator aufrufen
2. Installationsbefehl eingeben
Install-Module -Name MSAL.PS
Testen mit Powershell
Die Angaben in spitzen Klammern (<...>) müssen durch die ermittelten/relevanten Werte ersetzt werden.
1. Die Werte ermitteln für
- tenantID
- clientID
- clientsecret
- targetmailbox
2. Sicherstellen, dass der Powershell-wrapper MSAL.PS auf dem PC installiert ist (siehe vorheriges Kapitel)
3. Je nach Konfiguration der Mailbox in MS 365 eines der beiden Powershell-CmdLets in einem beliebigen Verzeichnis ablegen (z.B. in C:\TEMP)
- Bei einer POP-Mailbox die Datei Get-POP3AccessToken.ps1
- Bei einer IMAP-Mailbox die Datei Get-IMAPAccessToken.ps1
4. Powershell öffnen und das Skript aufrufen - dabei natürlich die <..>-Variablen durch die richtigen Werte ersetzen
- <cmdlet-name> ist
- für eine POP-Mailbox: Get-POP3AccessToken.ps1
- für eine IMAP-Mailbox: Get-IMAPAccessToken.ps1
cd \ cd Temp .\Get-<cmdlet-name> -tenantID "<tenantID>" -clientId "<clientID>" -clientsecret "<clientsecret>" -targetMailbox "<targetmailbox>" -verbose
Ergebnis: