# Microsoft 365: Postfächer verbinden

Damit der Assistent Post in Microsoft 365 lesen und dort Entwürfe anlegen
kann, braucht er Zugriff über Microsoft Graph. Dafür gibt es zwei Wege, und
beide beruhen auf **einer App, die die Organisation in ihrem eigenen Microsoft
Entra ID registriert**. draften hat keine gemeinsame App, der Sie nur zustimmen
müssten. Das gilt für unseren Dienst ebenso wie für eine Installation auf dem
eigenen Server.

## Welchen Weg wählen

| | Für die ganze Organisation | Mit dem Konto des Postfachs |
|---|---|---|
| In draften | App-Registrierung unter Organisation → **Integrationen** | Schaltfläche **Outlook verbinden** beim Postfach |
| Berechtigungen in Entra | Anwendungsberechtigungen (Application) | delegierte Berechtigungen (Delegated) |
| Wer sich anmelden muss | niemand | der Inhaber jedes Postfachs, einmal |
| Welche Postfächer erreicht werden | alle Postfächer des Verzeichnisses (lässt sich einschränken) | nur das Postfach, dessen Konto sich angemeldet hat |
| Freigegebene Postfächer (info@, vertrieb@) | ja | nein – ein freigegebenes Postfach hat keine eigene Anmeldung |
| Wenn jemand das Unternehmen verlässt | es ändert sich nichts | nach der Sperrung seines Kontos wird das Postfach getrennt |
| Anmeldung bei draften mit dem Microsoft-Konto | nein, das ist eine eigene Sache | dieselbe Registrierung dient auch der Anmeldung |

Für eine Organisation mit mehreren Postfächern ist der **Weg für die ganze
Organisation** einfacher: Der Administrator richtet ihn einmal ein, und die
Inhaber der Postfächer müssen nichts tun. **Mit dem Konto des Postfachs**
eignet sich, wenn Sie der App keinen Zugriff auf alle Postfächer des
Verzeichnisses geben möchten oder wenn Sie ohnehin die Anmeldung mit dem
Microsoft-Konto einführen.

Beide Wege können Sie gleichzeitig nutzen; jedes Postfach verwendet einen
davon.

!> Geben Sie der App **niemals die Berechtigung `Mail.Send`**. draften sendet
nichts und kann es ohne diese Berechtigung auch gar nicht – genau darum geht es.

## Weg A: für die ganze Organisation

Sie brauchen ein Konto mit der Rolle **Globaler Administrator** oder
**Administrator für privilegierte Rollen** – nur ein solches Konto erteilt die
Zustimmung zu Anwendungsberechtigungen von Microsoft Graph. Die Registrierung
selbst kann auch ein Anwendungsadministrator anlegen.

### In Microsoft Entra

1. Öffnen Sie https://entra.microsoft.com → **Identity** → **Applications** →
   **App registrations** → **New registration**.
2. Geben Sie einen Namen ein, etwa `draften – Post`, wählen Sie **Accounts in
   this organizational directory only**, **lassen Sie Redirect URI leer** und
   klicken Sie auf **Register**.
3. Notieren Sie auf der Seite **Overview** die **Application (client) ID** und
   die **Directory (tenant) ID**.
4. **Certificates & secrets** → **Client secrets** → **New client secret**:
   eine Beschreibung (etwa `draften`) und die Gültigkeit, höchstens 24 Monate.
   Kopieren Sie nach dem Speichern sofort die Spalte **Value** – sie wird nur
   jetzt angezeigt. Die **Secret ID** braucht draften nicht. Notieren Sie auch
   das Ablaufdatum.
5. **API permissions** → **Add a permission** → **Microsoft Graph** →
   **Application permissions**. Haken Sie `Mail.ReadWrite`
   und `MailboxSettings.ReadWrite` an und klicken Sie auf **Add permissions**.
   `MailboxSettings.ReadWrite` dient nur der Farbe der Kategorie in Outlook;
   ohne diese Berechtigung wird die Kategorie ohne Farbe hinzugefügt. Fügen Sie
   optional `User.Read.All` hinzu – damit prüft draften die Aliasse des
   Postfachs; ohne diese Berechtigung meldet der Verbindungstest bei Aliassen,
   dass er sie nicht prüfen kann.
6. Klicken Sie auf **Grant admin consent for …** und bestätigen Sie. In allen
   Zeilen muss ein grünes Häkchen stehen.

### In draften

1. Öffnen Sie Organisation → **Integrationen**, Karte **Zugriff auf die Post
   für die ganze Organisation**. Registrierungen verwalten der Inhaber und die
   Manager der Organisation.
2. **System**: **Microsoft 365 (Entra)**. Füllen Sie **Name**, **Directory
   (tenant) ID**, **Application (client) ID**, **Client secret** (den Wert aus
   Schritt 4, nicht seine ID) und **Geheimnis läuft ab** aus. Klicken Sie auf
   **Registrierung hinzufügen**. Das Geheimnis wird verschlüsselt gespeichert
   und nicht mehr angezeigt.
3. Eine Registrierung verbindet von selbst nichts. Wählen Sie auf der Seite
   jedes Postfachs in der Karte **Zugriff auf die Post** bei **Verwenden** diese
   Registrierung, klicken Sie auf **Übernehmen** und dann auf **Verbindung
   testen**. Die Auswahl sieht nur, wer zugleich Inhaber des Postfachs und
   Inhaber oder Manager der Organisation ist (der Inhaber der Organisation ist
   Inhaber aller Postfächer). Den ganzen Ablauf mit Bildschirmfotos zeigt die
   Anleitung [Ein Postfach hinzufügen und verbinden](/de/admin/adding-a-mailbox).

Ist **Postfach automatisch** eingeschaltet ([Wie sich Mitglieder
anmelden](/de/admin/member-sign-in)), wird ein neues Postfach von selbst an die
Registrierung gebunden, wenn für Microsoft 365 genau eine aktiv ist.

### Auf ausgewählte Postfächer einschränken (optional)

Eine Anwendungsberechtigung erreicht alle Postfächer des Verzeichnisses;
darüber wacht draften (ein Mitglied kann kein Postfach hinzufügen, der
Assistent sendet und löscht nichts). Wer zusätzlich einen technischen Zaun
möchte, beschränkt die App mit der Richtlinie `ApplicationAccessPolicy` in
Exchange Online auf eine Sicherheitsgruppe (PowerShell mit dem Modul
ExchangeOnlineManagement):

```
Connect-ExchangeOnline -UserPrincipalName admin@<tenant>.onmicrosoft.com
New-DistributionGroup -Name "draften - erlaubte Postfächer" -Alias draften-postfaecher -Type Security -Members postfach@firma.cz
New-ApplicationAccessPolicy -AppId <Application (client) ID> -PolicyScopeGroupId draften-postfaecher@firma.cz -AccessRight RestrictAccess -Description "draften: nur erlaubte Postfächer"
Test-ApplicationAccessPolicy -Identity postfach@firma.cz -AppId <Application (client) ID>
```

Nehmen Sie dann jedes weitere Postfach auch in die Gruppe auf, sonst endet der
Verbindungstest mit dem Fehler 403 (`AppOnly AccessPolicy`). Die Richtlinie
wirkt meist innerhalb einer Stunde; wir haben auch vier Stunden gesehen. Als
neuere Alternative bietet Microsoft **RBAC for Applications** in Exchange
Online an; das beschreiben wir noch nicht.

### Das Geheimnis ersetzen

Das Geheimnis ist nur begrenzt gültig, und draften schickt vor seinem Ablauf
keine Benachrichtigung – das Datum in der Karte wird 30 Tage vor dem Ablauf
gelb und danach rot. Tragen Sie sich eine Erinnerung in den Kalender ein. Vor
dem Ablauf:

1. Legen Sie in Entra bei der Registrierung ein neues Client secret an
   (Schritt 4 oben).
2. Wählen Sie in draften bei der Registrierung **Neues Geheimnis** und fügen
   Sie den neuen Wert und das neue Datum ein.
3. Löschen Sie das alte Geheimnis in Entra.

Läuft das Geheimnis früher ab, werden die Postfächer getrennt
(`invalid_client`), und die Assistenten überspringen sie. Führen Sie nach dem
Ersetzen bei den Postfächern **Verbindung testen** aus – ein erfolgreicher
Test schaltet das Postfach wieder ein.

## Weg B: mit dem Konto des Postfachs (Outlook verbinden)

Diese Registrierung hat **delegierte** Berechtigungen: Die App darf nur, was
die angemeldete Person darf, und nur in deren eigenem Postfach. Dieselbe
Registrierung dient auch der **Anmeldung bei draften mit dem
Microsoft-Konto**. Halten Sie sie von der Registrierung für Weg A getrennt.

### In Microsoft Entra

1. Öffnen Sie zuerst in draften Organisation → **Wie sich Mitglieder
   anmelden**, Karte **Kontoanmeldung und Postfachverbindungen**. Sie zeigt
   zwei **Redirect URIs** genau für Ihre Adresse von draften – sie enden auf
   `/auth/callback` und `/mailboxes/connect/callback`. Kopieren Sie sie von
   dort; sie müssen Zeichen für Zeichen stimmen.
2. In https://entra.microsoft.com → **App registrations** → **New
   registration**: Name etwa `draften – Anmeldung`, **Accounts in this
   organizational directory only**, **Redirect URI**: Plattform **Web**
   und die erste Adresse aus der Karte. Klicken Sie auf **Register**.
3. **Authentication** → bei der Plattform Web **Add URI** → die zweite Adresse
   aus der Karte → **Save**.
4. Notieren Sie unter **Overview** die **Application (client) ID** und die
   **Directory (tenant) ID**.
5. **Certificates & secrets** → **New client secret** → kopieren Sie **Value**
   und notieren Sie das Ablaufdatum.
6. **API permissions** → **Add a permission** → **Microsoft Graph** →
   **Delegated permissions**: `openid`, `profile`, `email`, `offline_access`,
   `User.Read`, `Mail.ReadWrite` und `MailboxSettings.ReadWrite`.
   Ohne `offline_access` hält die Verbindung nicht – draften bekäme kein
   Refresh-Token.
7. Klicken Sie auf **Grant admin consent for …**. Verbietet Ihre Organisation
   den Benutzern, Apps zuzustimmen, würde die Verbindung ohne diesen Schritt
   mit der Meldung enden, dass die Zustimmung verweigert wurde.

### In draften

1. Der **Inhaber der Organisation** trägt in der Karte **Kontoanmeldung und
   Postfachverbindungen** unter **Entra-Registrierung für „Mit Microsoft
   anmelden“ und „Outlook verbinden“** die **Application (client) ID** und das
   **Client secret** ein und klickt auf **Speichern**.
2. Der **Inhaber des Postfachs** öffnet die Seite des Postfachs und klickt in
   der Karte **Zugriff auf die Post** auf **Outlook verbinden**. Er meldet sich
   **mit dem Konto dieses Postfachs** an – ein anderes Konto lehnt draften ab –
   und erlaubt den Zugriff. Die Schaltfläche sieht nur der Inhaber des
   Postfachs, und nur wenn die Organisation die Registrierung hat.
3. Dann **Verbindung testen**.

Die **Anmeldung mit dem Microsoft-Konto** schalten Sie auf derselben Seite
ein: Tragen Sie unter **ID des Microsoft-Verzeichnisses (Entra)** die
Directory (tenant) ID ein. Sobald die Organisation die Registrierung und die
Verzeichnis-ID hat, melden sich die Mitglieder mit dem Microsoft-Konto an, und
ihre Passwörter gelten nicht mehr – siehe [Wie sich Mitglieder
anmelden](/de/admin/member-sign-in).

### Wenn das Postfach getrennt wird

- **Das Geheimnis der Registrierung ist abgelaufen** – legen Sie in Entra ein
  neues an, speichern Sie es in der Karte Kontoanmeldung und
  Postfachverbindungen und klicken Sie bei den Postfächern auf **Outlook neu
  verbinden**.
- **Die Person hat das Unternehmen verlassen, oder ihr Konto wurde gesperrt** –
  Microsoft stellt keine Tokens mehr aus, und draften trennt das Postfach. Ein
  Postfach ohne eigene Anmeldung verbinden Sie über Weg A.
- **„Der Anbieter hat kein Refresh-Token ausgestellt“** – der Registrierung
  fehlt die Berechtigung `offline_access` (Schritt 6).
- **„Es hat sich ein anderes Konto angemeldet als die Adresse des Postfachs“** –
  melden Sie sich beim Verbinden mit dem Konto genau dieses Postfachs an; wer im
  Browser mehrere Microsoft-Konten hat, wählt das richtige.

## Fehler beim Verbindungstest

Der Test prüft drei Schritte: **Zugriff**, **Token und Berechtigung** und
**Lesen des Posteingangs**. Bei jedem steht ein Häkchen oder ein Kreuz mit dem
Grund:

| In der Meldung | Was es bedeutet | Was zu tun ist |
|---|---|---|
| `AADSTS7000215`, `AADSTS7000222`, `invalid_client` | falsches oder abgelaufenes Client secret | ein neues Geheimnis anlegen und in draften speichern |
| `AADSTS700016`, `AADSTS90002`, `unauthorized_client` | falsche Application ID oder Directory ID | beide IDs erneut von Overview abschreiben |
| `AADSTS65001`, `AADSTS650057`, `consent_required` | die Administratorzustimmung fehlt | **Grant admin consent** bei der Registrierung |
| Token ohne `Mail.ReadWrite` | die Berechtigung fehlt oder ist nicht zugestimmt | Berechtigung hinzufügen und Zustimmung erteilen |
| `invalid_grant`, `AADSTS50173`, `AADSTS700082`, `AADSTS70008` | die Verbindung mit dem Konto ist abgelaufen oder wurde widerrufen | **Outlook neu verbinden** |
| HTTP 403 `AppOnly AccessPolicy` | das Postfach ist nicht in der Gruppe der Zugriffsrichtlinie | es in die Gruppe aufnehmen und warten |
| HTTP 404 | ein solches Postfach gibt es nicht | die Adresse prüfen; das Postfach muss Exchange Online haben |
| HTTP 401 | ein anderes Verzeichnis, oder eine Berechtigung fehlt | Directory ID und Berechtigungen prüfen |

Weitere Fehler beschreibt [Fehlerbehebung](/de/admin/troubleshooting).
