OAuth2-Authentifizierung für den E-Mail-Versand mit Microsoft Office 365

enaio® 10.10 »

Für den E-Mail-Versand aus enaio® server und enaio® webclient mit Microsoft Office 365 sind spezifische Konfigurationen notwendig:

  • Konfiguration der OAuth2-Authentifizierung in Microsoft Office 365.

  • Konfigurationen für administrative E-Mails von enaio® server in enaio® enterprise-manager.

  • Konfigurationen für enaio® webclient über die Konfigurationsdatei osweb-prod.yml von enaio® service-manager.

Microsoft Office 365 Konfigurationen für die Benutzer- und App-Registrierung

Die hier beschriebene Benutzerführung kann Änderungen durch Microsoft unterliegen. Konsultieren Sie bei Bedarf die Dokumentation von Microsoft.

  1. Richten Sie die OAuth2-Unterstützung für das gewünschte Benutzerkonto ein.
    Das Benutzerkonto geben Sie bei der enaio® client- und enaio® server-Konfiguration und bei der enaio® webclient-Konfiguration als 'SMTPUserName' an.

    • Rufen Sie https://portal.microsoft.com/ auf.

    • Öffnen oder erstellen Sie das gewünschte administrative Benutzerkonto.

    • Aktivieren Sie die SMTP-Authentifizierung für dieses administrative Benutzerkonto, indem Sie zu E-Mail > E-Mail-Apps verwalten navigieren und das Häkchen bei Authentifiziertes SMTP setzen.

  2. Erstellen Sie eine App-Registrierung:

    • Rufen Sie https://entra.microsoft.com/ auf.

    • Erstellen Sie eine neue App-Registrierung, indem Sie zu Identität > Anwendungen > App-Registrierungen navigieren und + Registrierung einer neuen Anwendung wählen.

    • Wählen Sie einen beschreibenden Namen, wählen Sie unter Umleitungs-URI Web aus und geben Sie http://localhost an.

  3. Alle Benutzerkonten des Unternehmens, die E-Mails über enaio® webclient versenden sollen können, müssen speziell konfiguriert werden:

    • Gehen Sie zu Aktive Benutzer im Microsoft 365 Admin Center und machen Sie die folgenden Einstellungen für jedes gewünschte Benutzerkonto.

    • Klicken Sie im Reiter E-Mail auf Als Berechtigungen senden/Senden als Berechtigungen.

      Sie finden hier zwei Benennungen bei Microsoft.

    • Setzen Sie das Häkchen beim administrativen SMTP-Benutzerkonto von enaio® webclient.

      Wird das Häkchen nicht gesetzt, ist das Senden von E-Mails nicht möglich und es wird eine SendAsDenied-Fehlermeldung angezeigt

  4. Richten Sie ein Geheimnis für die App-Registrierung ein:

    • Navigieren Sie im App-Registrierungsbereich zu Zertifikate & Geheimnisse.

    • Wählen Sie + Neuer geheimer Clientschlüssel.

    • Geben Sie eine Beschreibung ein, wählen Sie ein Ablaufdatum und wählen Sie Hinzufügen.
      Notieren Sie den Wert des Clientschlüssels für die weitere Konfiguration.

  5. Erteilen Sie API-Berechtigungen:

    • Gehen Sie zu API-Berechtigungen im App-Registrierungsbereich und wählen Sie Berechtigung hinzufügen.

    • Navigieren Sie zu Von meiner Organisation verwendete APIs > Office 365 Exchange Online > Anwendungsberechtigungen > SMTP und markieren Sie SMTP.SendAsApp.

    • Erteilen Sie die Administratorzustimmung für die Berechtigung.

    • Gehen Sie zu Übersicht und notieren Sie sich die Anwendungs-ID (Client) und die Verzeichnis-ID (Mandant) für die weitere Konfiguration.

  6. Wählen Sie die Unternehmensanwendung:

    • Navigieren Sie zu Identität > Anwendungen > Unternehmensanwendungen und wählen Sie die neu erstellte Anwendung aus.

    • Notieren Sie sich die unter Übersicht angezeigte Objekt-ID für die weitere Konfiguration.

    • Fügen Sie unter Benutzer und Gruppen den gewünschten Benutzer hinzu.

Konfigurationen für Exchange (Online) über Windows Powershell

Installieren Sie, falls nicht bereits installiert, das Exchange Online Management in der Powershell.

  1. Öffnen Sie die Windows Powershell.

    • Stellen Sie sicher, dass ExecutionPolicy auf RemoteSigned eingestellt ist:

      Get-ExecutionPolicy
      Set-ExecutionPolicy RemoteSigned
    • Installieren Sie PowerShellGet:

      Install-Module -Name PowerShellGet -Force
    • Installieren Sie das cmdlet Exchange Online Management:

      Install-Module -Name ExchangeOnlineManagement   #(for all users)

      ODER

      Install-Module -Name ExchangeOnlineManagement -Scope CurrentUser   #(for the currently logged in user)
    • Erstellen Sie ein ServicePrincipal und richten Sie Berechtigungen in Exchange Online ein:

      • Öffnen Sie die Windows Powershell.

      • Stellen Sie eine Verbindung zu Exchange Online her:

        Connect-ExchangeOnline -UserPrincipalName <USER@example.com>
      • Erstellen das Sie ServicePrincipal. Verwenden Sie die Objekt-ID aus der Unternehmensanwendung:

        New-ServicePrincipal -AppId <ApplicationID> -ObjectId <ObjectID Enterprise Application> -DisplayName <Name>
      • Legen Sie Postfachberechtigungen fest:

        Add-MailboxPermission -Identity <Email@example.com> -User <ObjectID Enterprise Application> -AccessRights FullAccess

Konfigurationen für enaio® server in enaio® enterprise-manager

In enaio® enterprise-manager sind für den Versand administrativer E-Mail von enaio® server mit Microsoft Office 365 folgende Einstellungen notwendig:

Parameter

Wert (Registry-Eintrag)

Beschreibung

E-Mail-Absender

-

(MailSender)

Absenderadresse für den Server zum Verschicken von E-Mails an das administrative Konto.

Die Adresse muss dem SMTP-Benutzernamen und dem eingerichtetem Benutzer entsprechen.

Administrative E-Mails

E-Mails erlauben

(NoMails=0)

Schaltet das Absenden von administrativen E-Mails für die Übermittlung von Systemereignissen an oder ab.

Beim Starten und Beenden werden jeweils die Protokolldateien 'startup.txt' und 'shutdown.txt' mitgesendet.

E-Mail-Server

smtp.office365.com

(MailServer)

IP-Adresse oder Host Name des E-Mail-Servers für administrative E-Mails.

SMTP-Verschlüsselung

2

(SMTPSecurity=2)

Keine (0), SSL (1), TLS (2).

Der entsprechende Port muss bei Verschlüsselung ebenfalls eingestellt werden.

SMTP-Serverport

587

(SMTPPort)

Port für SMTP

SMTP-Authentifizierung

OAuth2 Microsoft Office

(SMTPAuthenticating=3)

Authentifizierungsmethode für SMTP.

SMTP-Benutzername

-

(SMTPUserName)

Benutzername für die SMTP-Anmeldung.

Die Adresse muss dem E-Mail-Absender und dem eingerichtetem Benutzer entsprechen.

MS Office Client-ID 

-

(OfficeClientID)

Office 365 Anwendungs-ID (Client) für die E-Mail-Authentifizierung 'OAuth2 Microsoft Office' aus der Microsoft Office 365 Konfiguration.
MS Office Client‑Secret 

-

(OfficeClientSecret)

Office 365 geheimer Clientschlüssel für die E-Mail-Authentifizierung 'OAuth2 Microsoft Office' aus der Microsoft Office 365 Konfiguration.

Das Client-Secret wird verschlüsselt gespeichert und maskiert angezeigt.

MS Office Tenant‑ID 

-

(OfficeTenantID)

Office 365 Verzeichnis-ID (Mandant) für die E-Mail-Authentifizierung 'OAuth2 Microsoft Office' aus der Microsoft Office 365 Konfiguration.

-

https://login.microsoftonline.com/#TenantID#/oauth2/v2.0/token

(OfficeTokenEndpoint)

Adresse für die Anmeldung an Microsoft Office 365. Der Platzhalter #TenantID# durch den Wert aus OfficeTenantID ersetzt.

-

https://outlook.office365.com/.default

(OfficeAccessScopes)

Standard-Abfrageparameter für SMTP.
-

30

(OfficeTokenGraceTimeInSeconds)

Pufferzeit in Sekunden, die von dem Ablaufen des Tokens abgezogen wird, um sicherzustellen, dass das Token gültig bleibt, bis die E-Mail tatsächlich gesendet wird.
Die Registry-Einträge OfficeTokenEndpoint, OfficeAccessScopes und OfficeTokenGraceTimeInSeconds sind Standard-Einstellungen, die enaio® enterprise-manager in den Servereinstellungen nicht anzeigt. Diese Registry-Einträgesollten in der Regel nur nach Absprache geändert werden.

Konfigurationen für enaio® webclient über osweb-prod.yml

In der Konfigurationsdatei osweb-prod.yml von enaio® service-manager sind für den E-Mail-Versand aus enaio® webclient mit Microsoft Office 365 folgende Einstellungen notwendig. Die Konfiguration kann über enaio® services-admin vorgenommen werden.

Parameter

Wert

Beschreibung

featureSwitches.sendEmail.smtpServer -

SMTP-Server für das Senden von E-Mails, Host oder IP.

featureSwitches.sendEmail.smtpPort - Port des SMTP-Servers.
featureSwitches.sendEmail.smtpEncryption TLS

Verschlüsselungsverfahren:

  • TLS

featureSwitches.sendEmail.smtpAuthentication MS_OAUTH

Authentifizierung am SMTP-Server:

  • MS_OAUTH

featureSwitches.sendEmail.smtpUsername -

Benutzername für die globale Authentifizierung am SMTP-Server. Schema:

  • MS_OAUTH: name@domain.com

featureSwitches.sendEmail.oAuthClientId - Die Anwendungs-ID (Client) für die OAuth-Authentifizierung zum Senden von E-Mails aus der Microsoft Office 365 Konfiguration.
featureSwitches.sendEmail.oAuthClientSecret -

Der geheime Clientschlüssel für die OAuth-Authentifizierung zum Senden von E-Mails aus der Microsoft Office 365 Konfiguration.

featureSwitches.sendEmail.oAuthTenantId - Die Verzeichnis-ID (Mandant) für die OAuth-Authentifizierung zum Senden von E-Mails aus der Microsoft Office 365 Konfiguration.