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 eineSystem.Communication/Uses-Assoziation mit der Pipeline verknüpft. - Die Azure-App-Registrierung muss die Graph-Anwendungs-Berechtigung
Mail.ReadWritebesitzen (mit Admin-Zustimmung).
Node-Konfiguration
| Feld | Erforderlich | Standard | Beschreibung |
|---|---|---|---|
serverConfiguration | ja | — | WellKnownName der MicrosoftGraphConfiguration-Entität, die AzureTenantId / ClientId / ClientSecret enthält. |
mailbox | ja | — | Abzufragendes Postfach als User Principal Name (z. B. user@company.com). |
folderPath | ja | — | 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. |
moveToFolderPathOnSuccess | nein | (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. |
pollingIntervalSeconds | nein | 120 | Sekunden zwischen den Abfragezyklen. |
maxMessagesPerPoll | nein | 25 | Maximale Anzahl pro Zyklus abgerufener Nachrichten (älteste zuerst). |
senderFilter | nein | (keiner) | Nur Nachrichten verarbeiten, deren Absenderadresse diese Zeichenkette enthält. |
maxAttemptsPerMessage | nein | 3 | Wie oft eine fehlschlagende Nachricht erneut versucht wird (ein Versuch pro Zyklus), bevor sie bis zum Neustart des Adapters übersprungen wird. |
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.