MailBridge 365 – Microsoft-365-Einrichtung
]
Dokumentversion 1.4 · Stand 16. September 2026
Technikerunterlage für App-Registrierung, Microsoft-Graph-Berechtigungen, EWS-Proxy und sichere Datenübergabe für die Installation am Windows Server.
Ziel dieser Anleitung
MailBridge 365 ist ein lokaler Windows-Dienst. Er stellt bestehenden Anwendungen SMTP AUTH, POP3, einen HTTPS-Webclient und einen EWS-kompatiblen Endpunkt zur Verfügung. Der EWS-Proxy übersetzt unterstützte EWS-Anfragen intern auf Microsoft Graph. Gegenüber Microsoft 365 meldet sich der Dienst ohne interaktive Benutzeranmeldung über OAuth2 an.
Nach Abschluss dieser Anleitung sind:
- eine eigene Anwendung im richtigen Microsoft-Entra-Tenant registriert,
- die benötigten Microsoft-Graph-Anwendungsberechtigungen eingerichtet,
- die tenantweite Administratorzustimmung erteilt,
- ein Client Secret erstellt und sicher übergeben,
- die verwendeten Postfächer und Funktionen dokumentiert,
- EWS-, Graph-, Cache- und Synchronisationseinstellungen festgelegt,
- alle Informationen für die Installation am Windows Server vorhanden.
Wichtig: Der Connector benötigt keine persönlichen Microsoft-365-Benutzerkennwörter. Tenant-ID, Client-ID und Client-Secret-Wert gehören zur registrierten Anwendung.
Aktueller Microsoft-Zeitplan für EWS
Microsoft beginnt am 1. Oktober 2026 mit der stufenweisen Sperre von EWS in
Exchange Online. Am 1. April 2027 wird EWS in Exchange Online vollständig
und dauerhaft abgeschaltet. Die Übergangseinstellungen EWSEnabled und
EWSAllowedAppIDs können bestehende direkte EWS-Anwendungen nur vorübergehend
weiter zulassen und ersetzen keine Migration.
MailBridge 365 verwendet EWS nicht für die Verbindung zu Microsoft 365. Der
EWS-kompatible Endpunkt befindet sich ausschließlich lokal zwischen der
Bestandsanwendung und MailBridge 365. Die Verbindung von MailBridge 365 zu
Exchange Online erfolgt über OAuth2 und Microsoft Graph. Für MailBridge 365
selbst muss daher keine App-ID in EWSAllowedAppIDs eingetragen werden.
Andere Anwendungen im Kunden-Tenant, die weiterhin direkt per EWS auf Exchange Online zugreifen, müssen separat ermittelt und bewertet werden. Microsoft hat keinen allgemeinen Termin veröffentlicht, an dem jede einzelne EWS-Funktion vollständig oder identisch in Graph verfügbar sein soll. Der Funktionsumfang muss deshalb für jede Bestandsanwendung getestet werden.
- Microsoft-Zeitplan zur EWS-Abschaltung
- EWSAllowedAppIDs für die Übergangsphase
- Microsoft-Leitfaden zur EWS-Graph-Migration
Inhaltsübersicht
- Auftrag und Voraussetzungen
- App in Microsoft Entra ID registrieren
- Microsoft-Graph-Berechtigungen vergeben
- Administratorzustimmung erteilen
- Client Secret erstellen und sichern
- Postfachzugriff sinnvoll begrenzen
- Datenübergabe an den Windows-Techniker
- Vorbereitung und Einrichtung am Windows Server
- Abnahme und Funktionstest
- Fehlerzuordnung
- Secret-Erneuerung
- Offizielle Microsoft-Quellen
1. Auftrag und Voraussetzungen
Funktionsweise
Bestehende Anwendung
|
| SMTP AUTH / POP3 / EWS / HTTPS-Webclient
v
MailBridge 365 auf dem Windows Server
|
| OAuth2 Client Credentials / HTTPS
v
Microsoft Entra ID und Microsoft Graph
|
v
Exchange Online
Der Connector arbeitet als Hintergrunddienst mit einer eigenen Anwendungsidentität. Es findet keine interaktive Microsoft-365-Benutzeranmeldung statt. Deshalb werden Anwendungsberechtigungen benötigt.
Voraussetzungen in Microsoft 365
- Aktiver Microsoft-365-Tenant mit Exchange Online
- Mindestens ein verwendbares Benutzer-, Shared- oder Funktionspostfach
- Konto mit Berechtigung zum Erstellen einer App-Registrierung
- Konto mit Berechtigung zum Erteilen einer tenantweiten Administratorzustimmung
- Festgelegte Microsoft-365- und Exchange-Ansprechperson
Wenn die Schaltfläche für die Administratorzustimmung deaktiviert ist, muss ein entsprechend berechtigter Microsoft-Entra-Administrator den betreffenden Schritt durchführen.
Voraussetzungen am Windows Server
- Unterstütztes Windows-System mit .NET Framework 4.8
- Lokale Administratorrechte für Installation und Dienstverwaltung
- Funktionierende DNS-Auflösung und korrekte Systemzeit
- Ausgehendes HTTPS über TCP-Port 443
- Erreichbarkeit von
login.microsoftonline.comundgraph.microsoft.com - Bei großen Nachrichten gegebenenfalls Erreichbarkeit von durch Graph bereitgestellten Upload-Endpunkten unter
outlook.office.com - Fester Programm- und Datenpfad
- Schreibrechte des Windows-Dienstkontos im Datenpfad
- Festgelegte lokale SMTP-, POP3-, EWS-Proxy- und Webclient-Ports
Vor Beginn festlegen
- Welche Postfächer dürfen Nachrichten versenden?
- Welche Postfächer dürfen über POP3 oder den Webclient gelesen werden?
- Welche ERP-Systeme verwenden den EWS-Proxy und welche Postfächer fragen sie ab?
- Soll EWS alle Nachrichten oder nur Gesendete Elemente bereitstellen?
- Sollen vom ERP versendete Nachrichten bei der Rücksynchronisation aus Gesendete Elemente unterdrückt werden, um Dubletten im ERP zu vermeiden?
- Werden Termine und Kontakte lesend benötigt?
- Ab welchem Datum und welcher Uhrzeit dürfen Mails beziehungsweise Termine bereitgestellt werden?
- Sollen abgerufene Nachrichten in Exchange als gelesen markiert werden?
- Dürfen Nachrichten nach erfolgreichem POP3-Abruf gelöscht werden?
- Darf ein POP3-Client mit
DELENachrichten in Exchange löschen? - Soll das lokale Journalpostfach aktiviert werden?
- Soll Exchange den App-Zugriff serverseitig auf bestimmte Postfächer begrenzen?
- Wer ist für die Erneuerung des Client Secrets verantwortlich?
Benötigte Microsoft-Graph-Rechte
| Berechtigung | Typ | Verwendung |
|---|---|---|
Mail.Send |
Application / Anwendung | Versand aus den freigegebenen Exchange-Online-Postfächern |
Mail.ReadWrite |
Application / Anwendung | Abruf, Gelesen-Markierung, Löschung und Entwurfsverarbeitung großer Nachrichten |
User.Read.All |
Application / Anwendung | Anzeigename und sekundäre SMTP-, SIP-, X500- und weitere Proxyadressen für EWS ResolveNames |
Calendars.Read |
Application / Anwendung | Optional: lesender Terminabgleich über den EWS-Proxy |
Contacts.Read |
Application / Anwendung | Optional: lesender Kontaktabgleich über den EWS-Proxy |
Keine Redirect URI erforderlich: Der Connector verwendet den OAuth2 Client-Credentials-Flow. Unter Authentication / Authentifizierung muss keine Web-, SPA- oder Public-Client-Umleitungsadresse eingetragen werden.
2. App in Microsoft Entra ID registrieren
Microsoft Entra Admin Center öffnen
Öffnen Sie:
Kontrollieren Sie vor der Registrierung oben rechts, dass der produktive Kunden-Tenant ausgewählt ist. Eine registrierte Anwendung kann später nicht in einen anderen Tenant verschoben werden.
Navigation
Microsoft Entra Admin Center
> Entra ID
> App registrations / App-Registrierungen
> New registration / Neue Registrierung
Registrierung durchführen
-
Wählen Sie New registration / Neue Registrierung.
-
Vergeben Sie einen eindeutigen Namen, beispielsweise:
MailBridge 365 - <Kundenname> -
Wählen Sie als unterstützten Kontotyp:
Accounts in this organizational directory only Nur Konten in diesem Organisationsverzeichnis -
Lassen Sie Redirect URI / Umleitungs-URI leer.
-
Wählen Sie Register / Registrieren.
-
Nach dem Speichern öffnet sich die Übersichtsseite der App.
Werte sofort erfassen
| Portalbezeichnung | Benötigter Wert | Hinweis |
|---|---|---|
| Directory (tenant) ID | Tenant-ID als GUID | Nicht mit der primären Microsoft-365-Domain verwechseln |
| Application (client) ID | Client-ID als GUID | Nicht die Object-ID verwenden |
| Display name | Anzeigename der App | Dient zum späteren Auffinden der Registrierung |
Nicht verwechseln: Für den Connector werden die Directory (tenant) ID und die Application (client) ID benötigt. Die Object-ID der App oder des Service Principals ist dafür nicht geeignet.
3. Microsoft-Graph-Berechtigungen vergeben
Navigation
App-Registrierung
> API permissions / API-Berechtigungen
> Add a permission / Berechtigung hinzufügen
Rechte hinzufügen
- Wählen Sie Microsoft Graph.
- Wählen Sie Application permissions / Anwendungsberechtigungen.
- Wählen Sie ausdrücklich nicht die delegierten Berechtigungen.
- Suchen Sie nach
Mail.Sendund markieren Sie diese Berechtigung. - Suchen Sie nach
Mail.ReadWriteund markieren Sie diese Berechtigung. - Suchen Sie nach
User.Read.Allund markieren Sie diese Berechtigung. - Wenn Termine und Kontakte über den EWS-Proxy synchronisiert werden sollen,
markieren Sie zusätzlich
Calendars.ReadundContacts.Read. - Bestätigen Sie mit Add permissions / Berechtigungen hinzufügen.
Warum werden zwei Rechte benötigt?
Mail.Send erlaubt der Anwendung den Versand ohne angemeldeten Benutzer. Das Recht enthält jedoch keinen allgemeinen Lese- oder Änderungszugriff.
Mail.ReadWrite erlaubt Lesen, Erstellen, Aktualisieren und Löschen von Nachrichten ohne angemeldeten Benutzer. Es enthält aber keine Versandberechtigung.
Calendars.Read und Contacts.Read werden ausschließlich benötigt, wenn in
der Connector-Konfiguration Termine und Kontakte synchronisieren aktiviert
wird. Der Zugriff ist in dieser Ausbaustufe lesend.
Der Connector benötigt Mail.ReadWrite zusätzlich für:
- POP3- und Webclient-Abruf,
- Markieren als gelesen,
- Löschen von Exchange-Nachrichten,
- Erstellen und Verarbeiten von Entwürfen bei großen Nachrichten,
- Upload-Sitzungen für große Anhänge.
Nicht benötigtes Standardrecht entfernen
Falls nach der Registrierung noch User.Read vom Typ Delegated / Delegiert eingetragen ist, kann dieses Recht entfernt werden. Der Connector verwendet keine delegierte Benutzeranmeldung und benötigt es nicht.
Sicherheitswirkung: Nach der Administratorzustimmung gelten die vergebenen Anwendungsberechtigungen grundsätzlich tenantweit. Der Connector verwendet nur die lokal konfigurierten Postfächer. Für eine zusätzlich durch Exchange erzwungene Begrenzung siehe Abschnitt 6.
4. Administratorzustimmung erteilen
Das bloße Hinzufügen der Berechtigungen reicht nicht aus. Anwendungsberechtigungen werden erst nach der tenantweiten Administratorzustimmung wirksam.
Navigation
App-Registrierung
> API permissions / API-Berechtigungen
Zustimmung durchführen
- Wählen Sie Grant admin consent for
<Tenant>beziehungsweise Administratorzustimmung für<Tenant>erteilen. - Kontrollieren Sie den Sicherheitsdialog.
- Erwartet werden
Mail.Send,Mail.ReadWriteundUser.Read.Allsowie bei aktiviertem Termin-/Kontaktabgleich zusätzlichCalendars.ReadundContacts.Read. - Klären Sie unerwartete zusätzliche Rechte, bevor Sie zustimmen.
- Bestätigen Sie die Zustimmung.
- Aktualisieren Sie die Ansicht.
- Prüfen Sie bei beiden Rechten den grünen Status Granted for
<Tenant>/ Gewährt für<Tenant>.
Erwarteter Sollzustand
| Eintrag | Typ | Status |
|---|---|---|
Microsoft Graph Mail.Send |
Application | Granted for <Tenant> |
Microsoft Graph Mail.ReadWrite |
Application | Granted for <Tenant> |
Microsoft Graph User.Read.All |
Application | Granted for <Tenant> |
Microsoft Graph Calendars.Read |
Application | Optional, bei Terminabgleich: Granted for <Tenant> |
Microsoft Graph Contacts.Read |
Application | Optional, bei Kontaktabgleich: Granted for <Tenant> |
| Delegierte Rechte | Nicht benötigt | Keine erforderlich |
Wenn die Schaltfläche deaktiviert ist: Das verwendete Konto darf keine tenantweite Zustimmung erteilen. Eine Benutzerzustimmung reicht nicht aus. Ein berechtigter Entra-Administrator muss den Schritt durchführen.
Bei späteren Änderungen: Werden die API-Berechtigungen geändert, muss die Administratorzustimmung erneut erteilt werden. Erst danach erscheinen die geänderten Rechte in neu ausgestellten Zugriffstokens.
5. Client Secret erstellen und sichern
Der aktuelle Connector authentifiziert sich mit einem Client Secret. Dieses wird bei der Einrichtung am Windows Server per DPAPI für den lokalen Computer verschlüsselt gespeichert.
Navigation
App-Registrierung
> Certificates & secrets / Zertifikate & Geheimnisse
> Client secrets
> New client secret / Neuer geheimer Clientschlüssel
Secret erstellen
-
Tragen Sie eine nachvollziehbare Beschreibung ein, beispielsweise:
MailBridge 365 - Windows Server <SERVERNAME> -
Legen Sie die Laufzeit fest.
-
Microsoft begrenzt Client Secrets auf maximal 24 Monate und empfiehlt eine Laufzeit unter 12 Monaten.
-
Wählen Sie Add / Hinzufügen.
-
Kopieren Sie unmittelbar den Inhalt der Spalte Value / Wert.
-
Dokumentieren Sie das Ablaufdatum.
-
Planen Sie mindestens 30 Tage vor Ablauf einen Termin zur Erneuerung ein.
Entscheidend - VALUE, nicht SECRET ID: Der Windows-Techniker benötigt den Inhalt der Spalte Value / Wert. Die Secret ID ist nur eine Kennung und kann nicht als Kennwort verwendet werden.
Der Secret-Wert wird nach dem Verlassen der Seite nicht erneut angezeigt. Geht der Wert verloren, muss ein neues Secret erstellt werden.
Sichere Übermittlung
Der Secret-Wert darf nicht zusammen mit Tenant-ID und Client-ID in einer normalen E-Mail versendet werden.
Geeignete Übertragungswege sind beispielsweise:
- freigegebener Eintrag in einem Passwortmanager,
- zeitlich begrenzter Secret-Link,
- getrennte Übermittlung über einen zweiten Kommunikationskanal,
- direkte Eingabe durch den berechtigten Administrator am Windows Server.
Nach der Eingabe darf keine Klartextkopie in einer Textdatei, E-Mail oder ungeschützten Dokumentation auf dem Server verbleiben.
Hinweis zur Microsoft-Empfehlung: Microsoft bevorzugt für Produktionssysteme Zertifikate oder föderierte Identitäten. Diese Connector-Version verwendet derzeit ein Client Secret. Kurze Laufzeit, geschützte Übertragung und geplante Rotation sind deshalb besonders wichtig.
6. Postfachzugriff sinnvoll begrenzen
Basisbetrieb
Der Connector begrenzt seine Verwendung auf die in der Absender- und Benutzerverwaltung eingetragenen Mailadressen. Dies ermöglicht eine schnelle Inbetriebnahme.
Die Entra-Anwendungsberechtigungen erlauben technisch grundsätzlich Zugriff auf die entsprechenden Daten aller Exchange-Online-Postfächer des Tenants, solange Exchange keine zusätzliche Einschränkung erzwingt.
Erhöhte Absicherung mit Exchange Application RBAC
Für eine serverseitig erzwungene Beschränkung sollte bei neuen Installationen Role Based Access Control for Applications / Application RBAC in Exchange Online verwendet werden.
Empfohlene Vorgehensweise:
- Zulässigen Empfängerbereich in Exchange Online definieren.
- Die Exchange-Anwendungsrolle Application Mail.Send auf diesen Bereich begrenzen.
- Die Exchange-Anwendungsrolle Application Mail.ReadWrite auf denselben benötigten Bereich begrenzen.
- Alle Benutzer-, Shared- und Funktionspostfächer aufnehmen, die der Connector verwenden soll.
- Mindestens ein erlaubtes Postfach testen.
- Mindestens ein Postfach außerhalb des Bereichs als Negativtest verwenden.
Wichtig für große Nachrichten: Jedes Versandpostfach benötigt im wirksamen Exchange-Scope sowohl
Mail.Sendals auchMail.ReadWrite, weil große Nachrichten über Entwurf und Upload-Sitzung verarbeitet werden.
Legacy Application Access Policies
Microsoft kennzeichnet Application Access Policies inzwischen als Legacy und empfiehlt für neue Einschränkungen Application RBAC. Bereits vorhandene Legacy-Policies können den Zugriff weiterhin beeinflussen und müssen insbesondere bei HTTP 403 geprüft werden.
Für die Einrichtung der Einschränkung werden benötigt:
| Angabe | Wert |
|---|---|
| Application (client) ID | ________________________________________________ |
| Erlaubte Postfächer | ________________________________________________ |
| Weiteres erlaubtes Postfach | ________________________________________________ |
| Nicht erlaubtes Testpostfach | ________________________________________________ |
| Zuständiger Exchange-Administrator | ________________________________________________ |
7. Datenübergabe an den Windows-Techniker
Diese Liste kann ausgefüllt an den ausführenden Windows-Techniker übergeben werden. Der Client-Secret-Wert wird getrennt davon über einen sicheren Übertragungsweg bereitgestellt.
Microsoft-365- und Entra-Daten
| Feld | Einzutragender Wert |
|---|---|
| Kunde / Tenant | ________________________________________________ |
| Primäre Microsoft-365-Domain | ________________________________________________ |
| Directory (tenant) ID | ________________________________________________ |
| Application (client) ID | ________________________________________________ |
| App-Anzeigename | ________________________________________________ |
| Client Secret - Value | Separat und sicher übergeben: [ ] erledigt |
| Secret gültig bis | ____________________ |
| Erinnerung zur Rotation | [ ] angelegt |
Admin Consent für Mail.Send |
[ ] gewährt |
Admin Consent für Mail.ReadWrite |
[ ] gewährt |
Admin Consent für User.Read.All |
[ ] gewährt |
| Termin-/Kontaktabgleich | [ ] nicht benötigt [ ] aktiviert |
Admin Consent für Calendars.Read |
[ ] nicht benötigt [ ] gewährt |
Admin Consent für Contacts.Read |
[ ] nicht benötigt [ ] gewährt |
| Exchange Application RBAC | [ ] nicht gewünscht [ ] eingerichtet [ ] separat beauftragt |
| Microsoft-365-Ansprechpartner | ________________________________________________ |
| Kontakt | ________________________________________________ |
Postfächer und Funktionen
| Feld | Einzutragender Wert |
|---|---|
| Versandpostfächer | ________________________________________________ |
| Weitere Versandpostfächer | ________________________________________________ |
| POP3-/Webclient-Postfächer | ________________________________________________ |
| Weitere Abrufpostfächer | ________________________________________________ |
| EWS-Postfächer | ________________________________________________ |
| EWS-Betriebsart | [ ] vollständiger Mailabgleich [ ] nur Versand und Gesendete Elemente |
| Eigene Versandkopien erneut ans ERP übertragen | [ ] ja [ ] nein, Dubletten vermeiden |
| Termine über EWS/Graph | [ ] nicht benötigt [ ] lesend bereitstellen |
| Kontakte über EWS/Graph | [ ] nicht benötigt [ ] lesend bereitstellen |
| Mails bereitstellen ab | ____________________ Datum/Uhrzeit |
| Termine bereitstellen ab | ____________________ Datum/Uhrzeit |
| Exchange-Abruf | [ ] aktiv [ ] nicht benötigt |
Nach RETR als gelesen markieren |
[ ] ja [ ] nein |
| Automatisch nach Abruf löschen | [ ] ja [ ] nein |
POP3-DELE an Exchange weitergeben |
[ ] erlauben [ ] nicht erlauben |
| Journalpostfach | [ ] aktivieren [ ] zunächst deaktiviert lassen |
Server- und Netzwerkdaten
| Feld | Einzutragender Wert |
|---|---|
| Windows-Servername | ________________________________________________ |
| Installationspfad | ________________________________________________ |
| Datenpfad | ________________________________________________ |
| Dienstkonto | ________________________________________________ |
| SMTP-Adresse und Port | ________________________________________________ |
| POP3-Adresse und Port | ________________________________________________ |
| EWS-Proxy-Adresse und Port | ________________________________________________ |
| Webclient-Adresse und Port | ________________________________________________ |
| Gemeinsames lokales EWS-Kennwort | Separat und sicher übergeben: [ ] erledigt |
| Zulässige EWS-Client-IP-Adressen | ________________________________________________ |
| Erlaubte Client-IP-Adressen | ________________________________________________ |
| Proxy erforderlich | [ ] nein [ ] ja: ______________________________ |
Nicht eintragen: Keine Microsoft-365-Benutzerkennwörter, keine OAuth-Tokens und keinen Client-Secret-Wert im Klartext in diese BookStack-Seite eintragen. Für den Connector werden keine persönlichen Microsoft-365-Kennwörter benötigt.
8. Vorbereitung und Einrichtung am Windows Server
Programm- und Datenordner festlegen
Der Installationspfad bezeichnet den vollständig gelieferten Programmordner.
Er enthält MailBridge365.exe, MailBridge365.exe.config, die benötigten
DLL-Dateien sowie den Ordner runtimes mit den nativen SQLite-Komponenten. Die
Kundeneinstellungen liegen daneben in MailBridge365.settings.config.
Der Datenpfad enthält dagegen alle veränderlichen Betriebsdaten:
<Datenpfad>
├── Queue Versandwarteschlange und DeadLetter
├── State SQLite-Datenbank und Synchronisationsstände
├── Mailboxes postfachbezogener Mail-, Termin- und Kontaktcache
├── Users Benutzerverwaltung und Benutzerkennwörter
├── Secrets gemeinsame Kennwörter und OAuth-Client-Secret
├── Certificates automatisch erzeugte lokale TLS-Zertifikate
├── Log normales sowie getrenntes EWS-/Graph-Protokoll
└── Actions Ausgaben der E-Mail-Automatisierung
Bleibt das Feld Datenpfad leer, verwendet MailBridge 365 den Programmordner auch als Datenpfad. Die genannten Datenordner entstehen dann direkt neben der EXE. Für einen Windows-Dienst ist ein eigener, lokal beschreibbarer Datenpfad meist übersichtlicher. Das Dienstkonto benötigt dort Änderungsrechte. Bei einem UNC-Pfad sind zusätzlich passende Freigabe- und NTFS-Rechte sowie eine bereits beim Dienststart verfügbare Netzwerkverbindung erforderlich.
Nicht nur die EXE kopieren: Zum Programm gehören auch die DLL-Dateien und der Ordner
runtimes. Bei Updates mussMailBridge365.settings.configerhalten bleiben. Geheimnisse unter<Datenpfad>\Secretsund<Datenpfad>\Users\Secretssind per Windows DPAPI an den Computer gebunden und müssen nach einem Serverwechsel neu gespeichert werden.
Netzwerk prüfen
-
login.microsoftonline.comist per HTTPS erreichbar. -
graph.microsoft.comist per HTTPS erreichbar. - Erforderliche Graph-/Outlook-Upload-Endpunkte sind erreichbar.
- DNS-Auflösung funktioniert unter dem späteren Dienstkonto.
- Datum, Uhrzeit und Zeitzone des Servers stimmen.
- Proxy oder SSL-Inspection blockiert die Microsoft-Endpunkte nicht.
- Lokale Ports sind nur für berechtigte Quellsysteme geöffnet.
Microsoft-Graph-Felder im Connector
| Connector-Feld | Wert oder Quelle |
|---|---|
TenantId |
Directory (tenant) ID aus der Entra-App |
ClientId |
Application (client) ID aus der Entra-App |
| Client Secret | Inhalt der Spalte Value / Wert; lokal eingeben |
GraphBaseUrl |
https://graph.microsoft.com/v1.0 |
OAuthScope |
https://graph.microsoft.com/.default |
| Parallele Graph-Anfragen je Postfach | Standard 2 |
| Wiederholungen bei Graph-Drosselung | Standard 3 |
| Mails bereitstellen ab | Globale Untergrenze mit Datum und Uhrzeit; ältere Elemente werden nicht angeboten |
| Termine bereitstellen ab | Globale Untergrenze mit Datum und Uhrzeit; ältere Termine werden nicht angeboten |
Der Connector berücksichtigt bei HTTP 429, 503 und 504 den von Microsoft gelieferten Retry-After-Wert und wiederholt die Anfrage automatisch.
Für den laufenden Abgleich verwendet der Connector Microsoft-Graph-DeltaLinks. Ordner- und Elementmetadaten werden in einer lokalen SQLite-Datenbank gespeichert; vollständige MIME-Inhalte werden erst bei Bedarf geladen. Dadurch muss nicht bei jedem Abruf das gesamte Postfach heruntergeladen werden. Eine reine Cache-Bereinigung erzeugt keine Löschanweisung an das ERP-System.
Benötigte lokale Komponenten aktivieren
Die Protokolle können unabhängig voneinander aktiviert werden. Nicht benötigte Listener sollten ausgeschaltet bleiben.
| Komponente | Einstellung | Verhalten |
|---|---|---|
| SMTP | SMTP aktivieren | Startet den lokalen SMTP-Eingang. Ist SMTP deaktiviert, werden fehlende SMTP-Adresse, Port, Benutzername, Kennwort und Absenderfreigaben nicht als Konfigurationsfehler behandelt |
| POP3 | POP3 aktivieren | Startet den lokalen POP3-Endpunkt für Benutzerpostfächer, lokale Unzustellbarkeiten und das Journal |
| EWS | EWS-Graph-Proxy aktivieren | Startet den lokalen HTTPS-Endpunkt /EWS/Exchange.asmx |
| Webclient | HTTPS-Webclient aktivieren | Startet die lokale Browseroberfläche zur Postfach- und Journalprüfung |
Das Deaktivieren von SMTP beendet nur den SMTP-Listener. Der EWS-Versand, POP3, Webclient, Graph-Abgleich und die Verarbeitung bereits vorhandener Warteschlangeneinträge bleiben entsprechend ihrer eigenen Einstellungen aktiv.
Geheimnisse speichern
- Starten Sie die Connector-Oberfläche mit lokalen Administratorrechten.
- Tragen Sie Tenant-ID und Client-ID ein.
- Geben Sie den Client-Secret-Wert in das dafür vorgesehene Geheimnisfeld ein.
- Speichern Sie die Konfiguration.
- Kontrollieren Sie, dass das Geheimnis anschließend als
********angezeigt wird. - Entfernen Sie alle temporären Klartextkopien des Secrets.
Die Anwendung speichert das Client Secret DPAPI-verschlüsselt für den lokalen Computer. Bei einem Serverwechsel oder einem geänderten Datenpfad muss es am neuen Ziel erneut eingegeben werden.
Benutzer und Postfächer einrichten
- Öffnen Sie die Benutzerverwaltung auf der Registerkarte Übersicht.
- Legen Sie im Bereich Vorgaben für neue Benutzer fest, ob neue Konten den Exchange-Online-Abruf, den Modus Nur Mailversand und Gesendete Elemente, die optionale Unterdrückung gesendeter Elemente und die Dublettenvermeidung erhalten sollen.
- Wählen Sie Vorgaben speichern. Diese Werte gelten nur für anschließend manuell oder automatisch neu angelegte Benutzer; bestehende Konten bleiben unverändert.
- Legen Sie die benötigten lokalen POP3-/SMTP-Benutzer an.
- Verwenden Sie vollständige Mailadressen als Benutzernamen.
- Prüfen Sie die übernommenen Vorgaben für jeden neu angelegten Benutzer.
- Legen Sie die erlaubten SMTP-Absender fest.
- Aktivieren Sie Löschfunktionen nur entsprechend der dokumentierten Kundenentscheidung.
- Vergeben Sie für das Journalpostfach ein eigenes lokales Kennwort.
- Aktivieren Sie die Journalfunktion erst nach erfolgreichem Funktionstest und wenn sie tatsächlich benötigt wird.
EWS-Proxy für ein ERP-System einrichten
Der EWS-Proxy behält die vom ERP erwartete EWS-Struktur bei und verarbeitet die unterstützten Anfragen intern über Microsoft Graph. Im ERP wird als EWS-Server-URL die lokale HTTPS-Adresse des Connectors eingetragen, beispielsweise:
https://<connector-server>:<ews-port>/EWS/Exchange.asmx
| Einstellung | Bedeutung |
|---|---|
| EWS-Proxy aktiv | Startet den lokalen HTTPS-Endpunkt |
| EWS-Port | Frei wählbarer lokaler TCP-Port; in Firewall und ERP identisch konfigurieren |
| Gemeinsames EWS-Kennwort | Lokales Kennwort für alle ERP-Benutzer; hat Vorrang vor dem jeweiligen Benutzerkennwort |
| Benutzerkennwort | Fallback, wenn kein gemeinsames EWS-Kennwort gesetzt ist |
| Zulässige Client-IP-Adressen | Beschränkt den Zugriff auf bekannte interne ERP-Systeme |
| Exchange-Online-Abruf | Muss für Postfächer aktiv sein, deren Daten über Graph bereitgestellt werden |
| Nur Mailversand und Gesendete Elemente | Zeigt nur die notwendigen Basisordner und synchronisiert ausschließlich Nachrichten aus Gesendete Elemente; Versand bleibt möglich |
| Nachrichten aus „Gesendete Elemente“ nicht übertragen | Hält auch Gesendete Elemente für den Client leer; der EWS-Versand funktioniert weiterhin. Diese Benutzervorgabe ist standardmäßig deaktiviert |
| Doppelte Mails im Ordner „Gesendete Elemente“ vermeiden | Unterdrückt im eingeschränkten Modus die erneute Rückgabe einer über den Connector versendeten Nachricht an das ERP; externe Versandkopien aus Outlook oder Mobilgeräten bleiben sichtbar |
| Termine und Kontakte synchronisieren | Optionaler lesender Abgleich; benötigt Calendars.Read und Contacts.Read |
Das lokale EWS-Kennwort ist kein Microsoft-365-Benutzerkennwort. Es ist technisch eine eigene lokale Einstellung; bei Bedarf kann bewusst derselbe Wert wie beim Client Secret eingetragen werden. Das Client Secret im Graph-Feld meldet den Connector bei Microsoft an, das gemeinsame EWS-Kennwort authentifiziert das interne ERP-System am Connector.
Beim ersten erfolgreich validierten EWS-Zugriff kann der Connector ein noch nicht vorhandenes Postfach automatisch in der Benutzerverwaltung anlegen. Das neue Konto übernimmt die zuvor gespeicherten Vorgaben für neue Benutzer. Bestehende Benutzer und deren Einstellungen werden dadurch nicht verändert.
Die Dublettenvermeidung gilt nur zusammen mit Nur Mailversand und Gesendete Elemente. Sie verändert oder löscht keine Nachricht in Microsoft 365 und bereinigt keine bereits vorhandenen ERP-Dubletten. Die zur Erkennung benötigten Versandkennungen werden lokal unter <Datenpfad>\State\connector-state.db gespeichert. Postfachbezogene Cachedateien liegen übersichtlich unter <Datenpfad>\Mailboxes\<Postfach-Kennung>; das lokale Journal verwendet <Datenpfad>\Mailboxes\_Journal.
EWS-/Graph-Diagnose und lokale Daten
- Das getrennte EWS-/Graph-Protokoll liegt unter
<Datenpfad>\Log. - Die Detailstufe ist einstellbar; Mailinhalte können ausgelassen werden, damit Protokolle klein und datenschutzfreundlicher bleiben.
- Ein lokaler Synchronisationsreset pro Benutzer verwirft den lokalen Zustand. Bereits übertragene Elemente können dadurch erneut bereitgestellt werden, ohne Inhalte in Microsoft 365 zu löschen.
- Cache-Größe und Aufbewahrung begrenzen lokale MIME-Dateien. Metadaten, UIDLs, Seen-Status und DeltaLinks bleiben in SQLite erhalten.
- Bei vielen Postfachinhalten verhindert die Kombination aus DeltaLinks, Metadatenindex und bedarfsgeladenem MIME unnötige Vollabrufe.
Lizenzhinweis: Ist die Lizenzprüfung ungültig, ist nur ein normales Postfach zulässig. Das Journal kann dann nicht aktiviert werden. Weitere manuell oder per EWS angefragte Postfächer werden abgewiesen und im Dateiprotokoll vermerkt.
9. Abnahme und Funktionstest
OAuth2 und Dienststart
- Der Dienst startet ohne Konfigurationsfehler.
- Ein OAuth2-Token wird erfolgreich angefordert.
- Im Protokoll steht kein
invalid_clientund kein HTTP 401. - Tenant-ID, Client-ID und verwendetes Postfach werden korrekt angezeigt.
SMTP-Versand
- Eine Testmail wird aus einem erlaubten Postfach versendet.
- Der Graph-Aufruf endet mit HTTP 202.
- Die Nachricht liegt im Ordner Gesendete Elemente des Absenders.
- Ein nicht erlaubter Absender wird lokal abgewiesen.
- Wenn große Nachrichten benötigt werden, wurde zusätzlich eine Nachricht mit großem Anhang getestet.
POP3 und Webclient
- Eine vorhandene Nachricht wird angezeigt.
- Die Nachricht kann vollständig abgerufen werden.
- Die UIDL bleibt bei wiederholter Anmeldung stabil.
- Die Gelesen-Markierung entspricht der Kundenentscheidung.
- Die Löschfunktion entspricht der Kundenentscheidung.
- Ein POP3-
DELEwird nur bei aktivierter Berechtigung und sauberemQUITan Exchange weitergegeben.
EWS-Proxy und Graph-Synchronisation
- Das ERP erreicht die lokale URL
/EWS/Exchange.asmxüber HTTPS. - Die Anmeldung funktioniert mit dem gemeinsamen EWS-Kennwort oder dem konfigurierten Benutzerkennwort.
- Die vollständige Ordnerhierarchie des eigenen Postfachs ist sichtbar.
- In der Betriebsart Nur Mailversand und Gesendete Elemente werden aus anderen Ordnern keine Nachrichten übertragen.
- Senden über EWS funktioniert und die Nachricht erscheint in Gesendete Elemente.
- Falls die Dublettenvermeidung aktiviert ist, erscheint eine über das ERP versendete Nachricht nach der Exchange-Synchronisation nicht ein zweites Mal im ERP.
- Eine außerhalb des Connectors versendete Testnachricht aus Outlook oder einem Mobilgerät wird weiterhin in das ERP synchronisiert.
- Falls aktiviert, werden Kalender und Kontakte lesend angezeigt.
- Die globalen Untergrenzen für Mails und Termine werden eingehalten.
- Ein erneuter Abgleich verwendet den gespeicherten Delta-Zustand und erzeugt keine unnötigen Dubletten.
- Das getrennte EWS-/Graph-Protokoll unter
<Datenpfad>\Logenthält den Test ohne aktivierte Mailinhalte.
Journal
- Es existiert nur ein Journalpostfach.
- Das Journalpostfach hat ein eigenes lokales Kennwort.
- Die Journalfunktion ist nur bei tatsächlichem Bedarf aktiviert.
- Eine ein- und eine ausgehende Testnachricht erscheinen jeweils genau einmal.
- Das Journalpostfach versendet keine Nachrichten.
- SMTP-, POP3-, EWS- und Webclient-Vorgänge werden entsprechend der aktivierten Journalregeln erfasst.
Exchange Application RBAC
- Ein erlaubtes Postfach kann verwendet werden.
- Ein Postfach außerhalb des Scopes wird abgewiesen.
- Versand und Lesezugriff wurden getrennt geprüft.
Abschluss
- Secret-Ablaufdatum ist dokumentiert.
- Verantwortliche Person für die Rotation ist festgelegt.
- Installations- und Datenpfad sind dokumentiert.
- Firewall- und Proxy-Freigaben sind dokumentiert.
- Kundenspezifische Lösch- und Journalentscheidungen sind dokumentiert.
10. Fehlerzuordnung
| Symptom | Wahrscheinliche Ursache und Prüfung |
|---|---|
AADSTS7000215 oder invalid_client |
Falscher Secret-Wert, Secret-ID statt Value, falsche Client-ID oder abgelaufenes Secret |
| HTTP 401 | Tenant-ID, Client-ID, Client Secret und Token-Endpunkt prüfen |
| HTTP 403 | Admin Consent, Typ Application, Exchange Application RBAC und vorhandene Legacy Application Access Policies prüfen |
| HTTP 404 beim Postfach | Mailadresse, Exchange-Online-Lizenz und tatsächliche Postfachexistenz prüfen |
| HTTP 429 | Microsoft-Graph-Drosselung; Retry-After wird automatisch beachtet |
| HTTP 503 oder 504 | Temporäre Microsoft-Störung; automatische Wiederholung und Protokoll prüfen |
| Kleine Nachrichten funktionieren, große nicht | Mail.ReadWrite im wirksamen Scope sowie Graph-/Outlook-Upload-Endpunkte prüfen |
| Token funktioniert, bestimmtes Postfach nicht | Exchange Application RBAC oder Legacy Application Access Policy prüfen |
| Keine POP3-Nachrichten | Exchange-Abruf beim Benutzer, lokale Übertragungs-UIDLs und Postfachinhalt prüfen |
EWS meldet Authentication required |
Gemeinsames lokales EWS-Kennwort, Benutzername, Client-IP-Freigabe und EWS-URL prüfen; das Entra-Client-Secret gehört nicht in das ERP-Kennwortfeld |
| EWS zeigt keine oder unvollständige eigene Ordner | Exchange-Online-Abruf des Benutzers, Graph-Rechte, erste Ordnerabfrage und EWS-/Graph-Protokoll prüfen; ERP-Ordneransicht anschließend neu laden |
| Nur Gesendete Elemente werden übertragen | Beim Benutzer ist die Betriebsart Nur Mailversand und Gesendete Elemente aktiv; dies ist beabsichtigt |
| Eine ERP-Versandkopie erscheint doppelt in Gesendete Elemente | Beim Benutzer den eingeschränkten EWS-Modus und Doppelte Mails im Ordner „Gesendete Elemente“ vermeiden aktivieren; die Einstellung wirkt nur auf künftige Rücksynchronisationen |
| Neue Benutzer erhalten unerwartete EWS-Einstellungen | In der Benutzerverwaltung die Vorgaben für neue Benutzer prüfen; Änderungen daran wirken nicht rückwirkend auf vorhandene Konten |
| Termine oder Kontakte fehlen | Funktion im Connector sowie Calendars.Read beziehungsweise Contacts.Read samt Admin Consent prüfen |
| Ältere Elemente fehlen | Globale Einstellung Mails bereitstellen ab beziehungsweise Termine bereitstellen ab prüfen |
SQLite unable to open database file |
Schreibrechte des Dienstkontos auf Datenpfad und Datenbankordner sowie erreichbaren lokalen Pfad prüfen |
| Weiteres EWS-Postfach wird abgewiesen | Lizenzstatus prüfen; bei ungültiger Lizenz ist nur ein normales Postfach zulässig |
Typische Verwechslungen
| Falsch | Richtig |
|---|---|
| Object-ID als Client-ID verwendet | Application (client) ID verwenden |
| Secret-ID als Kennwort verwendet | Client-Secret-Value verwenden |
| Delegierte Rechte eingetragen | Application permissions verwenden |
| Rechte hinzugefügt, aber keine Zustimmung erteilt | Grant admin consent ausführen |
| Persönliches Microsoft-365-Kennwort eingetragen | Am lokalen Protokoll das Connector-Benutzerkennwort oder gemeinsame EWS-Kennwort verwenden; zur Graph-Anmeldung den Client-Secret-Value im Connector hinterlegen |
| Shared-Mailbox nicht im Exchange-Scope | Alle verwendeten Shared-/Funktionspostfächer aufnehmen |
11. Secret-Erneuerung
Ein abgelaufenes Secret führt zu einem vollständigen Ausfall der Microsoft-Graph-Anmeldung. Die Erneuerung muss vor dem Ablauf erfolgen.
Empfohlener Ablauf
- Mindestens 30 Tage vor Ablauf ein neues Client Secret in derselben App-Registrierung erstellen.
- Den neuen Value / Wert sofort sicher erfassen.
- Wartungsfenster abstimmen.
- Neues Secret in der Connector-Oberfläche am Windows Server eingeben.
- Einstellungen speichern und Dienst neu starten.
- OAuth2-Anmeldung und Testversand prüfen.
- Falls verwendet, POP3, Webclient und EWS-Proxy einschließlich Ordnerabgleich prüfen.
- Erst nach erfolgreicher Abnahme das alte Secret in Entra ID löschen.
- Neues Ablaufdatum und nächste Erinnerung dokumentieren.
Kein unterbrechungsfreier Parallelbetrieb: Der aktuelle Connector verwendet jeweils ein aktives Client Secret. Deshalb darf das alte Secret erst entfernt werden, nachdem das neue Secret am Server eingetragen und erfolgreich getestet wurde.
12. Offizielle Microsoft-Quellen
- App in Microsoft Entra ID registrieren
- Microsoft Graph ohne angemeldeten Benutzer verwenden
- App-Anmeldeinformationen und Client Secrets verwalten
- Microsoft-Graph-Berechtigungsreferenz
- Role Based Access Control for Applications in Exchange Online
- Application Access Policies - Legacy
Dokumentationsstand: Diese Anleitung wurde am 16. September 2026 geprüft. Microsoft kann Portalbezeichnungen, Rollen, Grenzwerte und Empfehlungen ändern. Bei Abweichungen haben die verlinkten Microsoft-Learn-Seiten und die Sicherheitsrichtlinien des Kunden-Tenants Vorrang.
Interne Dokumentation
| Feld | Eintrag |
|---|---|
| Kunde | ________________________________________________ |
| Ticket / Auftrag | ________________________________________________ |
| Erstellt durch | ________________________________________________ |
| Microsoft-365-Konfiguration abgeschlossen am | ________________________________________________ |
| Windows-Server-Installation abgeschlossen am | ________________________________________________ |
| Technische Abnahme durch | ________________________________________________ |
| Nächster Secret-Wechsel spätestens am | ________________________________________________ |