Microsoft 365 E-Mail
Die Microsoft 365 E-Mail-Integration lässt eine Pipeline Nachrichten aus einem Office-365-Postfach (Exchange Online) über die Microsoft Graph API konsumieren, unter Verwendung einer Azure-App-Registrierung und des OAuth2-Client-Credentials-Flows (app-only). Ein konfigurierter Mail-Ordner wirkt als Arbeitsqueue: Jede Nachricht darin startet die Pipeline, und sobald ihr Lauf erfolgreich ist, wird die Nachricht in einen Done-Ordner verschoben.
Typische Verwendung: ein Buchhaltungs-Posteingang, in den Lieferanten Rechnungen als PDF-Anhänge senden — die Pipeline staget jeden Anhang für die OCR-/KI-Analyse und legt die Mail dann ab.
| Node | Art | Zweck |
|---|---|---|
FromMicrosoftGraphEmail@1 | Trigger | Fragt einen Postfach-Ordner über Microsoft Graph ab, lädt Dateianhänge herunter, führt die Pipeline einmal pro Nachricht aus und verschiebt die Nachricht nach Abschluss in einen Erfolgs-Ordner. |
FromMicrosoftGraphEmail@1(dieser Artikel) — Microsoft 365 / Exchange Online über Graph und eine Azure-App-Registrierung. Kein Passwort gespeichert; Ordner-als-Queue-Semantik mit automatischem Verschieben bei Erfolg.FromEmail@1— beliebiger IMAP-Server (Host / Benutzername / Passwort). Verwenden Sie diesen für Nicht-Microsoft-Postfächer oder wo eine App-Registrierung keine Option ist. Siehe dieFromEmail@1Node-Referenz.SendEMail@1— ausgehender SMTP-Versand. Siehe dieSendEMail@1Node-Referenz.
Architektur
- Der Trigger holt ein app-only Token vom Entra-Token-Endpunkt
(
https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token, Scopehttps://graph.microsoft.com/.default). - Er fragt den konfigurierten Ordner ab (Pfad aufgelöst vom Postfach-Root — nicht der Posteingang, es sei denn, der Pfad zeigt dorthin) und ruft zuerst die ältesten Nachrichten ab.
- Für jede Nachricht startet er die Pipeline mit einem Batch von genau einer Nachricht,
sodass Erfolg 1:1 auf die Pro-Nachricht-Aktion abbildet. Nur
fileAttachment-Inhalte werden heruntergeladen (base64); Item-/Reference-Anhänge werden übersprungen. - Bei einem erfolgreichen Lauf wird die Nachricht nach
moveToFolderPathOnSuccessverschoben (der Blatt-Ordner wird erstellt, falls er fehlt). Bei einem Fehlschlag bleibt die Nachricht liegen und wird in späteren Abfragezyklen erneut versucht, bis zumaxAttemptsPerMessageMal pro Adapter-Lebensdauer.
Vereinheitlichte Nachrichtenform
FromMicrosoftGraphEmail@1 emittiert die gleiche Struktur wie FromEmail@1,
FromMicrosoftGraph@1 und FromTeamsBot@1, sodass eine nachgelagerte Pipeline kanal-agnostisch
sein kann. Jede Nachricht ist ein Element von $.Emails[]:
$.Emails[0].Subject — message subject
$.Emails[0].From — sender (display name + address)
$.Emails[0].FromAddress — sender address only (e.g. user@example.com)
$.Emails[0].To — recipients
$.Emails[0].Date — received timestamp
$.Emails[0].Body — message body
$.Emails[0].MessageId — Graph message id
$.Emails[0].Attachments[0].FileName
$.Emails[0].Attachments[0].ContentType — MIME type (e.g. application/pdf)
$.Emails[0].Attachments[0].Length — content length in bytes
$.Emails[0].Attachments[0].Data — base64 file content
Da der Trigger eine Nachricht pro Lauf ausliefert, umschließen Pipelines den Body typischerweise
mit einem ForEach@1 über $.Emails (ein einzelnes Element) und einem inneren ForEach@1 über
$.key.Attachments.
Credentials
Der Trigger liest seine Credentials aus einer MicrosoftGraphConfiguration-Entität — dem
gleichen Konfigurationstyp, der von den Teams-Triggern verwendet wird — aufgelöst per
WellKnownName über eine System.Communication/Uses-Assoziation auf der Pipeline. Ihre drei
Attribute bilden direkt auf die Azure-App-Registrierung ab:
| Attribut | Azure-Wert |
|---|---|
AzureTenantId | Directory (tenant) ID |
ClientId | Application (client) ID |
ClientSecret | Client secret value |
Fahren Sie mit der Schritt-für-Schritt-Einrichtung fort.