Zum Hauptinhalt springen

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.

NodeArtZweck
FromMicrosoftGraphEmail@1TriggerFragt 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.
Welchen E-Mail-Trigger sollte ich verwenden?
  • 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 die FromEmail@1 Node-Referenz.
  • SendEMail@1 — ausgehender SMTP-Versand. Siehe die SendEMail@1 Node-Referenz.

Architektur​

  1. Der Trigger holt ein app-only Token vom Entra-Token-Endpunkt (https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token, Scope https://graph.microsoft.com/.default).
  2. 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.
  3. 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.
  4. Bei einem erfolgreichen Lauf wird die Nachricht nach moveToFolderPathOnSuccess verschoben (der Blatt-Ordner wird erstellt, falls er fehlt). Bei einem Fehlschlag bleibt die Nachricht liegen und wird in späteren Abfragezyklen erneut versucht, bis zu maxAttemptsPerMessage Mal 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:

AttributAzure-Wert
AzureTenantIdDirectory (tenant) ID
ClientIdApplication (client) ID
ClientSecretClient secret value

Fahren Sie mit der Schritt-für-Schritt-Einrichtung fort.