Micrsoft freischalten, um Zugriff auf imap über oAuth zu erhalten:

https://blog.rebex.net/office365-imap-pop3-oauth-unattended


Die Einbindung von Microsoft für den E-Mail-Import mit IMAP und OAuth2 erfordert Admin-Kenntnisse und -Zugriffsreche von Microsoft-Azure. Sollten Sie sich hier nicht auskennen, wenden Sie sich bitte an Ihren IT-Dienstleister.


Hinweis: Sollten Sie Microsoft-Imap schon eingerichtet haben und müssen jetzt nur das Secret-Token erneuern, dann folgen Sie der Anleitung ganz unten in diesem Artikel.


  1. Anmeldung in Ihrem Microsoft Azure-Portal
    https://portal.azure.com/

  2. Anwendung registrieren
    1. Im Azure-Portal auf "Microsoft Entra ID" klicken:
    2. Dort auf "App registrieren" klicken:


    3. Dort wiederum auf "Neue Registrierung" klicken:



  3. Eindeutigen Namen vergeben
    Für die neue Anwendung einen eindeutigen Namen vergeben und bei "Supported account types" dann "Single tenant" auswählen:
    1. App Registrieren:
    2. Ergebnis ist die registrierte App/Anwendung:

  4. Anwendungs-Passwort (App-secret) setzen
    1. Im linken Menü-Bereich auf "Certificates & secrets" klicken:
    2. Dann auf "New client secret" klicken und im rechten neuen Bereich eine Beschreibung und die Gültigkeit auswählen.
      Bei der Gültigkeit können Sie bis zu 2 Jahren auswählen. Wir empfehlen grundsätzlich ein Jahr. Sie können natürlich auch eine geringere Zeit einstellen.
    3. Dann auf Secret "Add" klicken.
    4. ACHTUNG: Es wird nun der Wert des Secrets einmalig angezeigt, diesen müssen Sie kopieren und sicher abspeichern, oder direkt in Legalvisio bei den IMAP-Einstellungen unter Client-Secret abspeichern. Er wird danach nicht wieder angezeigt. Sollten Sie das versäumt haben, müssen Sie ein neues Secret erstellen.
  5. Anwendungsberechtigungen (app permissions) hinzufügen
    1. Dazu im linken Menü-Bereich auf "API permissions" klicken:
    2. Dann auf "Add a permission"
    3. Im rechten neuen Bereich "Request api permissions" dann auf "APIs my organisation uses" klicken:
    4. Im Suchfeld dann nach "Office 365 Exchange " suchen und auf "Office 365 Exchange Online" klicken:
    5. Dann auf "Application permissions" klicken und im Suchfeld "AccessAsApp" eintragen, dann den Bereich "IMAP" ausklappen und die Checkbox bei IMAP.AccessAsApp aktivieren:
    6. Dann unten auf "Add permissions" klicken zum Hinzufügen.
  6. Die App-Berechtigungen müssen nun von einem Azure-Admin freigeschlatet werden:
    (im ersten Bild sehen Sie den Status, der noch auf "Not granted" steht)

    (im zweiten Bild sehen Sie den Button, mit dem man die Berechtigung als Admin bestätigen können: Administratorzustimmung für ...)

  7. Optional können die "User.Read" Rechte entfernt werden:
  8. Mail-Postfach Berechtigungen hinzufügen / Mailbox access permissions
    1. Für diese letzten Schritte gibt es im Azure-Portal keine grafische Oberfläche im Browser, daher müssen die Schritte in der Microsoft-PowerShell ausgeführt werden.
      Öffenen Sie dazu auf Ihrem Windows System die Anwendung PowerShell als Administrator:
    2. Installieren Sie die erforderlichen PowerShell-Module:

      Sie können diesen Schritt überspringen, wenn Sie die Module AzureAD und ExchangeOnlineManagement bereits installiert haben.
      Geben Sie folgende Zeilen in der Shell ein, um die Module u installieren:

      Install-Module -Name AzureAD
      Install-Module -Name ExchangeOnlineManagement


    3. Bestätigen Sie die Installation, indem Sie Y + Enter in der Shell eintippen.

    4. Ermitteln Sie die Service Principal ID, die mit Ihrer Anwendung verknüpft ist.
      Kopieren Sie dazu diesen Code-Block und ersetzen die Werte "YOUR_APP_ID_HERE" und "YOUR_TENANT_ID_HERE" bei den oberen beiden Variablen:

      $AppId = "YOUR_APP_ID_HERE"
      $TenantId = "YOUR_TENANT_ID_HERE"

      Import-module AzureAD
      Connect-AzureAd -Tenant $TenantId
      ($Principal = Get-AzureADServicePrincipal -filter "AppId eq '$AppId'")
      $PrincipalId = $Principal.ObjectId

      Die Werte finden Sie in Ihrer Anwendung:


      Anschließend kopieren Sie den Code-Block und führen ihn in der PowerShell aus.
      Hinweis: Sie werden aufgefordert, sich bei Ihrem Azure-Konto anzumelden.

    5. Das Ergebnis in der Shell sollte so aussehen:

    6. Registrieren Sie den "service principal" für Ihre Anwendung mit diesem Code-Block.
      Beim $DisplayName können Sie einen eindeutigen Namen vergeben.
      $DisplayName = "Some principal name for IMAP/POP3 here"

      Import-module ExchangeOnlineManagement
      Connect-ExchangeOnline -Organization $TenantId

      New-ServicePrincipal -AppId $AppId -ServiceId $PrincipalId -DisplayName $DisplayName

      Hier werden Sie eventuell eine rote Fehler-Meldung erhalten: 

      Für diesen Fall geben Sie in der PowerShell zunächst folgenden Befehl ein: Get-ExecutionPolicy
      Anschließend sollte die Meldung Restricted kommen.
      Dann diesen Befehl eingeben: Set-ExecutionPolicy RemoteSigned
      Und danach noch mal: Get-ExecutionPolicy
      Hier sollte jetzt nicht mehr Restricted, sondern RemoteSigned kommen
      Dann noch mal die Befehle aus dem Schritt 6. ausführen, diese können durch mehrmaliges Tippen auf die "Pfeil-Taste nach oben" abgerufen werden.

      Hinweis: Sie werden aufgefordert, sich bei Ihrem Exchange Online-Konto anzumelden.

    7. Das Ergebnis sollte in etwa so aussehen:


    8. Fügen Sie nun das Recht "FullAccess"für alle Postfächer hinzu, auf die Sie aus der Legalvisio-Anwendung aus zugreifen möchten. Das ist die E-Mailadresse für das Archiv-Postfach, aus dem E-Mails nach Legalvisio importiert werden sollen, z.B. archiv@....de

      Dazu diesen Befehl in der PowerShell abschicken:

      Add-MailboxPermission -User $PrincipalId -AccessRights FullAccess -Identity "mailbox.1@example.org"

    9. Das Ergebnis sollte in etwa so aussehen:

    10. Das wars bei MS-Azure.

  9. App-Werte in IMAP-Konfiguration in Legalvisio hinterlegen
    In Legalvisio in die Menü->Administration->Konfiguration und dort in den IMAP-Bereich wechseln. Dort alle Daten eintragen, wie im Screenshot dargestellt. Die Tenant-ID, Client-ID sowie das Secret finden Sie in Ihrer Azure-Anwendung.


    Bei den zusätzlichen Parametern müssen noch die ersten beiden SSL und TLS/SSL aktiviert werden.

    Tenant-ID:


    Client-ID: Hier zu klicken Sie im Overview Ihrer Anwendung auf den Link bei "Managed application in local directory"


    Dort dann die Application-ID kopieren und bei Legalvisio in der Client-ID einfügen:


    Secret-Value: hier benötigen Sie jetzt den Secret-Value, der nur einmalig angezeigt wurde (siehe oben)





10. Jetzt können Sie die IMAP-ANbindung testen über den Button, das Ergebnis sollte die Ordnerliste aus dem Postfach sein:





Anleitung zum Erneuern des Secret-Token

Das Token ist immer nur eine gewissen Zeit lang gültig und muss regelmäßig bei Microsoft-Azure erneuert werden.

Dazu melden Sie sich in Ihrem Azure-Portal an und wechseln zu den Anwendungen (App registrations):


Dann klicken Sie auf die IMAP-Legalvisio App (oder wie Sie diese genannt haben):

In der App sieht man dann direkt die Meldung, dass das Secret abgelaufen ist und klickt dann auf den secret-Bereich:



Hier muss jetzt noch mal ein neues Secret erstellt werden, wie im Schritt 4. Anwendungs-Passwort (App-secret) setzen  


  • Auf "New client secret" klicken und im rechten neuen Bereich eine Beschreibung und die Gültigkeit auswählen.
    Bei der Gültigkeit können Sie bis zu 2 Jahren auswählen. Wir empfehlen grundsätzlich ein Jahr. Sie können natürlich auch eine geringere Zeit einstellen.
  • Dann auf Secret "Add" klicken.
  • ACHTUNG: Es wird nun der Wert des Secrets einmalig angezeigt, diesen müssen Sie kopieren und sicher abspeichern, oder direkt in Legalvisio bei den IMAP-Einstellungen unter Client-Secret abspeichern. Er wird danach nicht wieder angezeigt. Sollten Sie das versäumt haben, müssen Sie ein neues Secret erstellen.
  • Anschließend den Value vom Secret in der IMAP-Konfiguration von Legalvisio im Feld Client-Secret einsetzen und speichern. Dann die IMAP-Konfig noch mal testen, es sollte dann eine Liste mit den Postfach-Ordnern erscheinen, wenn alles richtig eingerichtet ist.