Zum Hauptinhalt springen

FromMicrosoftGraphEmail@1

Der Node FromMicrosoftGraphEmail@1 fragt einen Microsoft 365 (Exchange Online)- Postfachordner über die Microsoft-Graph-API ab und löst die Pipeline einmal pro Nachricht aus. Der Ordner fungiert als Arbeitswarteschlange: Bei einem erfolgreichen Lauf wird die Nachricht in einen Erfolgs-Ordner verschoben; bei einem Fehler bleibt sie an Ort und Stelle und wird in späteren Abfragezyklen erneut versucht.

Für die durchgängige Einrichtung (Azure-App-Registrierung, Mail.ReadWrite-Anwendungs- berechtigung, Anmeldedaten, Deployment) siehe den Leitfaden zur Microsoft-365-E-Mail-Integration.

Adapter-Voraussetzungen​

  • Mesh Adapter
  • Eine System.Communication/MicrosoftGraphConfiguration-Entität (Anmeldedaten der Azure-App- Registrierung), über eine System.Communication/Uses-Assoziation mit der Pipeline verknüpft.
  • Die Azure-App-Registrierung muss die Graph-Anwendungs-Berechtigung Mail.ReadWrite besitzen (mit Admin-Zustimmung).

Node-Konfiguration​

FeldErforderlichStandardBeschreibung
serverConfigurationja—WellKnownName der MicrosoftGraphConfiguration-Entität, die AzureTenantId / ClientId / ClientSecret enthält.
mailboxja—Abzufragendes Postfach als User Principal Name (z. B. user@company.com).
folderPathja—Pfad des abzufragenden Ordners, Segmente durch / getrennt (z. B. Archive/Invoices/ToDo). Wird vom Postfach-Root aus aufgelöst — der Posteingang wird nur abgefragt, wenn der Pfad dorthin zeigt.
moveToFolderPathOnSuccessnein(keiner)Ordner, in den die Nachricht nach einem erfolgreichen Lauf verschoben wird (z. B. Archive/Invoices/Done). Der Blattordner wird automatisch erstellt (sein übergeordneter Ordner muss existieren). Wenn weggelassen, verbleiben verarbeitete Nachrichten im Quellordner.
pollingIntervalSecondsnein120Sekunden zwischen den Abfragezyklen.
maxMessagesPerPollnein25Maximale Anzahl pro Zyklus abgerufener Nachrichten (älteste zuerst).
senderFilternein(keiner)Nur Nachrichten verarbeiten, deren Absenderadresse diese Zeichenkette enthält.
maxAttemptsPerMessagenein3Wie oft eine fehlschlagende Nachricht erneut versucht wird (ein Versuch pro Zyklus), bevor sie bis zum Neustart des Adapters übersprungen wird.
Graph verwendet nicht lokalisierte Ordnernamen

Ordnerpfad-Segmente müssen den Graph-Anzeigenamen entsprechen, die nicht lokalisiert sind — verwenden Sie Archive, nicht den lokalisierten Outlook-Namen (z. B. Archivieren). Bekannte Ordner wie inbox und archive werden auch über ihren bekannten Namen aufgelöst.

Ausgabe​

Der Node gibt ein Array von Nachrichten unter $.Emails[] aus (siehe die vereinheitlichte Nachrichtenform). Da pro Lauf genau eine Nachricht geliefert wird, enthält $.Emails immer ein einzelnes Element. Nur fileAttachment-Inhalte werden heruntergeladen (base64 in $.Emails[0].Attachments[].Data); Item- und Reference-Anhänge werden übersprungen.

Anwendungsbeispiel​

Einen Rechnungsordner abfragen und jeden PDF-Anhang bereitstellen (der Trigger liefert eine Nachricht pro Lauf, sodass das äußere ForEach@1 ein einzelnes Element iteriert):

triggers:
- type: FromMicrosoftGraphEmail@1
serverConfiguration: MicrosoftGraphDocuments
mailbox: accounting@company.com
folderPath: Archive/Invoices/ToDo
moveToFolderPathOnSuccess: Archive/Invoices/Done
pollingIntervalSeconds: 120
transformations:
- type: ForEach@1
iterationPath: $.Emails
targetPath: $.emailResults
targetValueKind: Simple
targetValueWriteMode: Overwrite
transformations:
- type: ForEach@1
iterationPath: $.key.Attachments
targetPath: $.attachmentResults
targetValueKind: Simple
targetValueWriteMode: Overwrite
transformations:
- type: If@1
path: $.key.ContentType
operator: Equals
value: "application/pdf"
valueType: String
transformations:
# ... store $.key.Data, run OCR / AI, create entities ...

Die von serverConfiguration referenzierte MicrosoftGraphConfiguration muss über eine System.Communication/Uses-Assoziation mit der Pipeline verknüpft sein — die GlobalConfiguration wird nur aus Uses-Assoziationen aufgebaut, der Name allein wird nicht aufgelöst.