# Postfächer anbinden

> Ein Postfach bringt eingehende Mails nach nexxus. Ihre Anhänge landen in den Dateien, sie starten KI-Schedules, und der KI-Assistent kann sie beantworten. So binden Sie ein IMAP-Postfach an, auch bei Microsoft 365, oder lassen Postal zustellen.

Ein Postfach in nexxus ist eine Adresse, deren Mails nexxus liest. Jede neue Mail hält nexxus fest, legt ihre Anhänge in einem Ordner Ihrer Wahl ab und gibt sie an die Automatik weiter: Ein KI-Schedule kann auf sie reagieren, oder der KI-Assistent beantwortet sie, wenn Sie das für dieses Postfach einschalten.

Ein Beispiel: Brandt & Söhne arbeitet mit Microsoft 365. Die IT legt das Postfach `berichte@example.com` an und registriert dafür eine App in Microsoft Entra. Die Büroleiterin bindet das Postfach in nexxus an und schaltet <Ui>Assistent beantwortet Mails</Ui> ein. Ab dann schickt die Projektleitung montags eine Mail mit „Bitte die gebuchten Stunden je Projekt der letzten Woche als Excel“ und bekommt die Tabelle als Anhang zurück, berechnet mit ihren eigenen Rechten. Wie das für die Person aussieht, die schreibt, steht unter [Den KI-Assistenten per E-Mail fragen](/de/use/assistant/#den-ki-assistenten-per-e-mail-fragen).

<Flow
  steps={[
    { icon: 'inbox', title: 'Mail kommt an', text: 'nexxus ruft das Postfach jede Minute ab, oder Postal stellt sofort zu.' },
    { icon: 'user-cog', title: 'Festgehalten', text: 'Unter dem Dienstkonto des Postfachs, ohne Doppelte.', tone: 'cyan' },
    { icon: 'folder-input', title: 'Anhänge abgelegt', text: 'In dem Ordner, den Sie gewählt haben. Ohne Ordner nur aufgezählt.', tone: 'lavender' },
    { icon: 'sparkles', title: 'Weiter verarbeitet', text: 'Ein KI-Schedule übernimmt sie, oder der KI-Assistent antwortet.' },
  ]}
  caption="Jede Mail wird einmal bearbeitet: Nimmt ein Schedule sie, antwortet der KI-Assistent nicht."
/>

## Bevor Sie anfangen

- Sie haben in nexxus die Systemrolle ADMIN. Die Seite <Ui>Postfächer</Ui> öffnet sich nur für Administratoren.
- Es gibt ein **Dienstkonto**, unter dem das Postfach arbeitet. Ihm gehören die abgelegten Anhänge, und seine Rollen entscheiden, in welche Ordner es ablegen darf. Wie Sie eines anlegen, steht unter [Dienstkonten](/de/setup/invite-users/#dienstkonten).
- Sie wissen, wie die Mails hereinkommen:
  - **IMAP mit Passwort**: Server, Port, Benutzername und Passwort des Postfachs.
  - **Microsoft 365**: Exchange Online nimmt per IMAP kein Passwort an. Das Postfach meldet sich über eine App-Registrierung in Microsoft Entra an. Die richtet jemand ein, der in Entra Apps registrieren und in Exchange Online PowerShell Rechte vergeben darf, meist Ihre IT. Die Schritte stehen [unten](#microsoft-365-anmeldung-über-eine-app-registrierung).
  - **Postal**: Ein Postal-Server stellt jede Mail direkt zu. Sie brauchen Zugang zu seinem Routing.

## Ein Postfach anlegen

<Steps>

1. Öffnen Sie <MenuPath to="Administration > Inhalte & Automatisierung > Postfächer" /> und klicken Sie auf <Ui>Postfach anlegen</Ui>. Die Seite <Ui>Neues Postfach</Ui> öffnet sich im Bearbeitungsmodus.

2. Geben Sie im Abschnitt <Ui>Verbindung</Ui> einen <Ui>Name</Ui> ein, etwa „Anfragen“, und wählen Sie die <Ui>Art</Ui>: <Ui>IMAP-Postfach</Ui> oder <Ui>Weiterleitung über Postal</Ui>. Für Postal geht es [weiter unten](#postal-zustellung-statt-abruf) weiter.

3. Wählen Sie unter <Ui>Anmeldung</Ui> den Weg, auf dem sich das Postfach anmeldet:

   - <Ui>Benutzername und Passwort</Ui>: Tragen Sie <Ui>Server</Ui>, <Ui>Port</Ui>, <Ui>Benutzername</Ui> und <Ui>Passwort</Ui> ein. Üblich sind Port 993 mit <Ui>SSL/TLS (IMAPS)</Ui> und Port 143 mit <Ui>STARTTLS</Ui>, umgeschaltet mit <Ui>Verschlüsselung</Ui>. Unverschlüsselt ruft nexxus kein Postfach ab.
   - <Ui>Microsoft 365 (App-Registrierung)</Ui>: nexxus trägt den <Ui>Server</Ui> `outlook.office365.com` ein, wenn das Feld leer ist. <Ui>Benutzername</Ui> ist die Adresse des Postfachs. Dazu kommen <Ui>Verzeichnis-ID (Tenant)</Ui>, <Ui>Anwendungs-ID (Client)</Ui> und <Ui>Geheimer Clientschlüssel</Ui> aus Entra, siehe [unten](#schritt-3-in-nexxus-eintragen).

   <Ui>IMAP-Ordner</Ui> ist der Ordner, den nexxus liest. Leer bleibt es `INBOX`.

4. Im Abschnitt <Ui>Verarbeitung</Ui>:

   - <Ui>Empfang</Ui> steht bei einem neuen Postfach auf <Ui>Pausiert</Ui>. Lassen Sie es so, bis der Verbindungstest gelungen ist.
   - Wählen Sie das <Ui>Dienstkonto</Ui>. Die Auswahl zeigt nur Konten mit dem Kontotyp Dienstkonto.
   - Wählen Sie mit <Ui>Ordner wählen</Ui> einen <Ui>Ordner für Anhänge</Ui>, wenn Anhänge in den Dateien landen sollen. Ohne Ordner zählt nexxus die Anhänge nur auf (<Ui>keiner, Anhänge werden nur aufgezählt</Ui>).

5. Im Abschnitt <Ui>KI-Assistent</Ui> schalten Sie <Ui>Assistent beantwortet Mails</Ui> ein, wenn der KI-Assistent Anfragen an dieses Postfach beantworten soll. Darunter legen Sie <Ui>Anfragen je Person und Stunde</Ui> fest, zwischen 1 und 100, vorgegeben sind 5. Was dann geschieht, steht unter [Den KI-Assistenten per E-Mail fragen](/de/use/assistant/#den-ki-assistenten-per-e-mail-fragen).

6. Klicken Sie auf <Ui>Speichern</Ui>. Die Meldung <Ui>Postfach angelegt</Ui> bestätigt es, und die Seite zeigt das Postfach in der Leseansicht.

7. Klicken Sie auf <Ui>Verbindung testen</Ui>. nexxus meldet sich mit den gespeicherten Daten an, ohne etwas abzurufen. Klappt es, steht dort etwa „Verbindung ok: 12 Mails, davon 3 ungelesen“. Sonst steht dort „Verbindung fehlgeschlagen:“ und der Grund, siehe [Wenn etwas schiefgeht](#wenn-etwas-schiefgeht).

8. Klicken Sie auf <Ui>Bearbeiten</Ui>, stellen Sie <Ui>Empfang</Ui> auf <Ui>Aktiv</Ui> und klicken Sie auf <Ui>Speichern</Ui>.

9. Schalten Sie einmal für die ganze Installation den regelmäßigen Abruf ein: Öffnen Sie <MenuPath to="Administration > Betrieb > Wartung > Cron-Jobs" /> und setzen Sie den Job `MAILBOX_POLLER` auf <Ui>Aktiv</Ui>. nexxus legt ihn ausgeschaltet an. Solange er aus ist, kommt nur an, was Sie mit <Ui>Jetzt abrufen</Ui> holen.

</Steps>

<Ui>Jetzt abrufen</Ui> holt neue Mails sofort, auch wenn das Postfach pausiert ist, und meldet etwa <Ui>Keine neuen Mails</Ui> oder „2 neue Mails festgehalten“. Unter <Ui>Eingegangene Mails</Ui> zeigt die Seite die letzten 25 Mails des Postfachs. Ein Klick auf eine Zeile öffnet Empfänger, Anhänge mit Link in die Dateien, den Text und, wenn der KI-Assistent beteiligt war, was er mit der Mail gemacht hat.

## Microsoft 365: Anmeldung über eine App-Registrierung

Exchange Online lehnt die IMAP-Anmeldung mit Benutzername und Passwort ab. Ein Postfach bei Microsoft 365 meldet sich deshalb als App an: nexxus holt sich mit Verzeichnis-ID, Anwendungs-ID und geheimem Clientschlüssel bei Microsoft ein Zugriffstoken und meldet sich damit per IMAP an. Kein Mensch muss sich dafür anmelden, und kein persönliches Passwort liegt in nexxus.

Die App bekommt dafür zwei Dinge: in Entra die Anwendungsberechtigung **IMAP.AccessAsApp** mit Administratorzustimmung, und in Exchange Online das Recht auf genau dieses Postfach. Ohne das zweite kann sie sich zwar anmelden, aber kein Postfach öffnen.

### Schritt 1: App in Microsoft Entra registrieren

Diese Schritte erledigen Sie im Microsoft Entra Admin Center, dessen Menüs englisch sind.

<Steps>

1. Öffnen Sie `https://entra.microsoft.com` und gehen Sie zu **Entra ID** › **App registrations** › **New registration**. Geben Sie der App einen Namen, den Ihre IT wiedererkennt, etwa „nexxus Postfach“. Wählen Sie unter **Supported account types** die Option **Single tenant only**. Eine Umleitungs-URI braucht diese App nicht.

2. Öffnen Sie **Certificates & secrets** › **Client secrets** › **New client secret**. Kopieren Sie den **Value** sofort: Microsoft zeigt ihn nur einmal. nexxus braucht den Wert, nicht die **Secret ID**. Notieren Sie das Ablaufdatum. Ist der Schlüssel abgelaufen, ruft nexxus das Postfach nicht mehr ab.

3. Öffnen Sie **API permissions** › **Add a permission** › **APIs my organization uses**, suchen Sie **Office 365 Exchange Online**, wählen Sie **Application permissions**, haken Sie **IMAP.AccessAsApp** an und klicken Sie auf **Add permissions**.

4. Klicken Sie auf derselben Seite auf **Grant admin consent** für Ihr Verzeichnis. Die Berechtigung muss danach als erteilt angezeigt werden.

5. Kopieren Sie auf der Seite **Overview** die **Application (client) ID** und die **Directory (tenant) ID**.

6. Öffnen Sie **Entra ID** › **Enterprise applications**, wählen Sie dieselbe App und kopieren Sie auf ihrer Seite **Overview** die **Object ID**. Achtung: Das ist eine andere Object ID als die auf der Seite der App-Registrierung. Mit der falschen scheitert die Anmeldung später.

</Steps>

### Schritt 2: Der App das Postfach geben

Diese Schritte erledigen Sie in Exchange Online PowerShell, mit einem Konto, das in Exchange Online Rechte vergeben darf. Zuerst registrieren Sie die App als Dienstprinzipal in Exchange, dann geben Sie ihr das Postfach:

```powershell
Install-Module -Name ExchangeOnlineManagement
Connect-ExchangeOnline -Organization <Directory (tenant) ID>

New-ServicePrincipal -AppId <Application (client) ID> -ObjectId <Object ID der Enterprise Application> -DisplayName "nexxus Postfach"
$sp = Get-ServicePrincipal -Identity "nexxus Postfach"
Add-MailboxPermission -Identity <Adresse des Postfachs> -User $sp.Identity -AccessRights FullAccess
```

Ist IMAP für das Postfach ausgeschaltet, schalten Sie es ein:

```powershell
Set-CASMailbox -Identity <Adresse des Postfachs> -ImapEnabled $true
```

Die App kommt so nur an die Postfächer, die Sie ihr mit `Add-MailboxPermission` geben, nicht an alle Ihrer Organisation. Microsoft beschreibt das Verfahren unter [Authenticate an IMAP, POP or SMTP connection using OAuth](https://learn.microsoft.com/en-us/exchange/client-developer/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth), Abschnitt zum Client-Credentials-Verfahren.

### Schritt 3: In nexxus eintragen

<Steps>

1. Legen Sie das Postfach an wie [oben](#ein-postfach-anlegen) beschrieben, mit der <Ui>Art</Ui> <Ui>IMAP-Postfach</Ui> und der <Ui>Anmeldung</Ui> <Ui>Microsoft 365 (App-Registrierung)</Ui>. Das Feld <Ui>Passwort</Ui> verschwindet, dafür erscheinen die drei Felder für Entra.

2. Tragen Sie ein:

   | Feld | Wert |
   |---|---|
   | <Ui>Server</Ui> | `outlook.office365.com`, eingetragen, wenn das Feld leer war. <Ui>Port</Ui> 993 mit <Ui>SSL/TLS (IMAPS)</Ui> |
   | <Ui>Benutzername</Ui> | Die Adresse des Postfachs, etwa `berichte@example.com` |
   | <Ui>Verzeichnis-ID (Tenant)</Ui> | Die **Directory (tenant) ID**. Die Domain des Verzeichnisses geht auch, etwa `firma.onmicrosoft.com` |
   | <Ui>Anwendungs-ID (Client)</Ui> | Die **Application (client) ID** |
   | <Ui>Geheimer Clientschlüssel</Ui> | Der **Value** des Client Secrets |

3. Klicken Sie auf <Ui>Speichern</Ui> und dann auf <Ui>Verbindung testen</Ui>. Lehnt Microsoft ab, nennt nexxus den Grund auf Deutsch, siehe [Wenn etwas schiefgeht](#wenn-etwas-schiefgeht).

</Steps>

Den gespeicherten Schlüssel zeigt nexxus nie wieder an. Beim Bearbeiten steht im Feld <Ui>unverändert</Ui>: Lassen Sie es leer, behält nexxus den Schlüssel, tragen Sie einen neuen ein, ersetzt er den alten. So tauschen Sie auch einen abgelaufenen Schlüssel aus.

## Postal: Zustellung statt Abruf

Mit einem Postal-Server ruft nexxus nichts ab. Postal schickt jede Mail sofort an eine Empfangs-URL von nexxus und signiert jede Zustellung. nexxus nimmt nur Zustellungen mit gültiger Signatur an.

<Steps>

1. Legen Sie das Postfach mit der <Ui>Art</Ui> <Ui>Weiterleitung über Postal</Ui> an. Server, Benutzername und Passwort gibt es dann nicht.

2. <Ui>Postal-Schlüssel (JWKS)</Ui> ist die Adresse, unter der Ihr Postal-Server seine Signaturschlüssel veröffentlicht. Sie muss mit `https://` beginnen. Leer gilt der <Ui>Standard des Servers</Ui>.

3. Wählen Sie Dienstkonto und Ordner wie oben und klicken Sie auf <Ui>Speichern</Ui>. Erst jetzt entsteht die <Ui>Empfangs-URL</Ui>. Kopieren Sie sie mit <Ui>URL kopieren</Ui>.

4. Legen Sie in Postal unter **Routing** einen HTTP Endpoint mit dieser URL an, mit der Kodierung **Sent in the body as JSON** und dem Format **Delivered as the raw message**, und lassen Sie die Route der Empfangsadresse darauf zeigen.

5. <Ui>Verbindung testen</Ui> lädt die Schlüssel von Postal und meldet etwa <Ui>Postal-Schlüssel geladen (1). Signierte Zustellungen werden angenommen.</Ui>

</Steps>

<Ui>Neue URL erzeugen</Ui> ersetzt die Empfangs-URL, etwa wenn sie in falsche Hände geraten ist. Die alte nimmt ab sofort nichts mehr an, stellen Sie also gleich danach die Route in Postal um. Ein Postal-Postfach auf <Ui>Pausiert</Ui> nimmt keine Zustellungen an.

## Was im Hintergrund passiert

- **Abruf.** Ist der Job `MAILBOX_POLLER` aktiv, ruft nexxus jede Minute alle aktiven IMAP-Postfächer ab, je Postfach und Durchgang bis zu 25 Mails. Es liest nur ungelesene Mails im <Ui>IMAP-Ordner</Ui> und markiert jede als gelesen, sobald sie festgehalten ist. Bricht nexxus dazwischen ab, bleibt die Mail ungelesen und kommt beim nächsten Abruf wieder. Eine Mail, deren Message-ID das Postfach schon kennt, hält nexxus kein zweites Mal fest.
- **Dienstkonto.** Jede Mail wird unter dem Dienstkonto festgehalten und abgelegt. Ist es gelöscht oder kein Dienstkonto mehr, ruft nexxus nichts ab und schreibt den Grund unter <Ui>Fehler</Ui>.
- **Anhänge.** Mit Ordner werden sie Dokumente in den Dateien, ohne Ordner nur aufgezählt. Anhänge über 25 MB zählt nexxus auf, liest sie aber nicht.
- **Was danach kommt.** Jede neue Mail geht an die aktiven KI-Schedules mit dem Auslöser <Ui>Bei neuer E-Mail</Ui> für dieses Postfach, deren Filter passen. Nimmt keiner sie und ist <Ui>Assistent beantwortet Mails</Ui> eingeschaltet, prüft nexxus, ob der KI-Assistent sie beantwortet.
- **Zugangsdaten.** Passwort und geheimen Clientschlüssel speichert nexxus nur verschlüsselt und zeigt sie nie wieder an. Das Zugriffstoken von Microsoft hält nexxus im Speicher und holt kurz vor seinem Ablauf ein neues. Lehnt Exchange Online die Anmeldung ab, verwirft nexxus das Token und holt beim nächsten Versuch ein frisches.
- **Löschen.** Ein gelöschtes Postfach nimmt nichts mehr an, ein gespeichertes Passwort wird verworfen. Die festgehaltenen Mails bleiben.

:::note[Für Selbstbetreiber]
Geplante Jobs laufen nur, wenn `app.disableCronJobs` auf `false` steht, was das Produktionsprofil setzt. Der Abstand der Abrufe ist `communication.mailbox.pollDelayMs` (60000), die Zahl der Mails je Durchgang `communication.mailbox.maxMailsPerPoll` (25). Der Standard für <Ui>Postal-Schlüssel (JWKS)</Ui> kommt aus `communication.mailbox.postal.defaultJwksUrl` (Umgebungsvariable `POSTAL_JWKS_URL`). nexxus braucht für Microsoft 365 ausgehende Verbindungen zu `login.microsoftonline.com` und `outlook.office365.com`.
:::

## Wenn etwas schiefgeht

Fehler beim Verbindungstest stehen nach „Verbindung fehlgeschlagen:“. Fehler beim Abruf stehen im Feld <Ui>Fehler</Ui> und oben auf der Seite: <Ui>Der letzte Abruf ist fehlgeschlagen: ...</Ui>

| Meldung | Was zu tun ist |
|---|---|
| „Microsoft 365 lehnt den geheimen Clientschlüssel ab. Eingetragen sein muss sein Wert, nicht die ID des Geheimnisses.“ | Tragen Sie unter <Ui>Geheimer Clientschlüssel</Ui> den **Value** ein, nicht die **Secret ID**. Ist der Wert nicht mehr zu sehen, legen Sie in Entra einen neuen Schlüssel an. |
| „Der geheime Clientschlüssel ist abgelaufen. Bitte in Entra einen neuen anlegen und hier eintragen.“ | Legen Sie unter **Certificates & secrets** einen neuen Schlüssel an und tragen Sie seinen Wert ein. |
| „Eine App mit dieser Anwendungs-ID (Client) gibt es in diesem Verzeichnis nicht.“ | Prüfen Sie <Ui>Anwendungs-ID (Client)</Ui> und <Ui>Verzeichnis-ID (Tenant)</Ui>. Die App muss in diesem Verzeichnis registriert sein. |
| „Microsoft kennt diese Verzeichnis-ID (Tenant) nicht.“ | Tragen Sie die **Directory (tenant) ID** von der Übersichtsseite der App ein oder die Domain des Verzeichnisses. |
| „Exchange Online hat die IMAP-Anmeldung abgelehnt: Der App fehlt die Anwendungsberechtigung IMAP.AccessAsApp (Office 365 Exchange Online) mit Administratorzustimmung.“ | Fügen Sie die Berechtigung hinzu und erteilen Sie die Zustimmung, siehe Schritt 1, Punkt 3 und 4. Eine delegierte Berechtigung reicht nicht. |
| „Exchange Online hat die IMAP-Anmeldung abgelehnt. Hat die App Zugriff auf dieses Postfach (Dienstprinzipal in Exchange mit New-ServicePrincipal, Recht mit Add-MailboxPermission), und ist IMAP für das Postfach eingeschaltet?“ | Führen Sie Schritt 2 aus. Prüfen Sie, dass `New-ServicePrincipal` die Object ID der **Enterprise application** bekommen hat und dass IMAP für das Postfach an ist. |
| „Bei Microsoft 365 ist der Benutzername die Adresse des Postfachs.“ | Tragen Sie unter <Ui>Benutzername</Ui> die vollständige Adresse ein. |
| „Ohne Passwort kann das Postfach nicht aktiv sein.“ oder „Ohne geheimen Clientschlüssel kann das Postfach nicht aktiv sein.“ | Tragen Sie Passwort oder Schlüssel ein, bevor Sie <Ui>Empfang</Ui> auf <Ui>Aktiv</Ui> stellen. |
| „Das Dienstkonto ist gelöscht oder kein Dienstkonto mehr.“ | Wählen Sie ein anderes <Ui>Dienstkonto</Ui> oder stellen Sie den Kontotyp des bisherigen wieder auf <Ui>Dienstkonto</Ui>. |
| „Die Adresse des Postal-Schlüssels (JWKS) muss mit https:// beginnen.“ | Tragen Sie die HTTPS-Adresse ein oder lassen Sie das Feld leer. |
| Der Test klappt, aber es kommt nichts an | Der Job `MAILBOX_POLLER` ist aus, oder <Ui>Empfang</Ui> steht auf <Ui>Pausiert</Ui>. Oder die neuen Mails sind schon gelesen: nexxus holt nur ungelesene. |

## Wie es weitergeht

<CardGrid>
  <LinkCard title="Den KI-Assistenten per E-Mail fragen" description="Wer eine Antwort bekommt, wie sie aussieht und wo Sie den Status jeder Mail sehen." href="/de/use/assistant/#den-ki-assistenten-per-e-mail-fragen" />
  <LinkCard title="Dienstkonten" description="Das Konto anlegen, unter dem ein Postfach arbeitet." href="/de/setup/invite-users/#dienstkonten" />
  <LinkCard title="Dateien" description="Wo abgelegte Anhänge landen und wer sie sieht." href="/de/use/files/" />
</CardGrid>