E-Mail versenden an externe Empfänger (eigene Domain)
Der Service Task „E-Mail versenden an externe Empfänger (eigene Domain)“ versendet E-Mails an beliebige Empfänger mit einer Absenderadresse der eigenen Domain, ohne eigenen Mailserver und ohne Microsoft-365-Konto. Der Versand läuft über die Pantarey-Infrastruktur; die Absenderdomain muss dafür für den Account freigegeben sein. Anders als die übrigen Services wird dieser nicht per Input-Ausdruck, sondern in den Eigenschaften der Aufgabe mit dem Dialog E-Mail-Editor konfiguriert.
Technischer Name prio_sendSimpleEmail · Kategorie im Dialog „Service-Task auswählen“: E-Mail · Häufig genutzt
Wann wird dieser Service verwendet?
- Rechnungen an Kunden: Die Musterfirma GmbH versendet Rechnungen von
info@musterfirma-augsburg.demit PDF im Anhang und Kopie an die Buchhaltung. - Bestätigungen und Erinnerungen: Terminbestätigungen für Schulungen oder Erinnerungen an offene Angebote gehen an Kundenadressen.
- Ohne eigene Mail-Infrastruktur: Es gibt kein Microsoft 365 und keinen SMTP-Zugang, der aus dem Internet erreichbar ist.
Welcher E-Mail-Service?
| Service | Absender | Empfänger |
|---|---|---|
| E-Mail versenden an externe Empfänger (eigene Domain) – diese Seite | eigene Domain, für den Account freigegeben | beliebig |
| E-Mail senden (über SMTP) und aus Template | eigener Mailserver, jede Adresse, die der Server erlaubt | beliebig |
| E-Mail senden (Microsoft Graph) | Microsoft-365-Konto | beliebig |
| E-Mail aus Vorlage versenden über Pantarey (intern) und E-Mail versenden über Pantarey (intern) | benachrichtigung@pantarey.io |
nur Benutzer des eigenen Pantarey-Accounts |
Voraussetzungen
- Die Absenderdomain (z. B.
musterfirma-augsburg.de) muss für den Account freigegeben sein. Die Freigabe erfolgt über den Pantarey-Support. Ohne Freigabe antwortet der Service mitstatus403 und sendet nichts. - Die Gesamtgröße aller Anhänge darf 5 MB nicht überschreiten.
Eingabe
Dieser Service nutzt den Input-Ausdruck nicht. Nach dem Auswählen erscheint in den Eigenschaften ein E-Mail-Bereich mit den Schaltflächen Absender anpassen, Empfänger anpassen, Betreff anpassen, E-Mail-Inhalt bearbeiten, Anhänge konfigurieren und HTML-Dateninput konfigurieren. Jede öffnet den Dialog E-Mail-Editor am passenden Abschnitt. Die Badges Absender, Betreff, Empfänger und Inhalt zeigen je konfiguriert oder offen; sind alle vier gepflegt, meldet das Panel „E-Mail einsatzbereit – Absender, Empfänger, Betreff und Inhalt sind gepflegt.“, sonst „E-Mail noch unvollständig“.
| Einstellung im E-Mail-Editor | Pflicht | Bedeutung |
|---|---|---|
| Absender-E-Mail | ja | Vollständige Adresse der eigenen Domain, optional mit Anzeigename: "Musterfirma GmbH" <info@musterfirma-augsburg.de>. JSONata-Ausdruck erlaubt, eine wörtliche Adresse ebenfalls |
| Betreff | ja | Einzeilig. Platzhalter $(feld.pfad) und Helfer $fn(...) (z. B. $toGermanDate, $substring) sind erlaubt; kein freies JSONata |
| An (eine Adresse pro Zeile) | ja | JSONata-Ausdruck, der eine Adresse oder ein Array liefert; wörtliche Adressen sind erlaubt, mehrere durch Zeilen, , oder ; getrennt |
| Cc (optional), Bcc (optional) | nein | wie An |
| Antwortadresse (Reply-To) | nein | JSONata oder wörtliche Adresse. Leer → support@pantarey.io, nicht die Absenderadresse |
| HTML-Inhalt (über E-Mail-Inhalt bearbeiten) | ja | Vollständiges HTML im Editor. Handlebars-Platzhalter und Helfer wie {{currency_eur …}} oder {{dateTimeFormat …}} werden gegen den HTML-Dateninput gerendert; Werte im Prozess {{value:name}} werden vorher eingesetzt |
| HTML-Dateninput (JSONata) → JSONata-Ausdruck | nein | Daten für die Platzhalter, z. B. { "kunde": kunde, "rechnung": rechnung }. Leer → die gesamte Eingangsnachricht (Vorgabe $) |
| Anhänge → JSONata-Ausdruck | nein | Liefert ein Datei-Objekt {referenceId, filename, contentType} oder ein Array davon. Einträge ohne referenceId werden still übergangen. Gesamtgröße max. 5 MB |
Der Dialog prüft die Eingaben nicht; Übernehmen speichert alle Felder. In der KI-Änderungsansicht heißen dieselben Einstellungen E-Mail-Vorlage, Betreff, An, Cc, Bcc, Von, Antwort an, Anhänge und Daten für die Vorlage.
Ausgabe
{
"status": 200,
"from": "\"Musterfirma GmbH\" <info@musterfirma-augsburg.de>",
"replyTo": "support@pantarey.io",
"recipients": { "to": ["k.huber@kunde.de"], "cc": [], "bcc": ["buchhaltung@musterfirma-augsburg.de"] },
"attachmentCount": 1
}
Bei einem fachlichen Fehler kommt stattdessen { "status": 400, "message": "…" } oder { "status": 403, "message": "…" } zurück, ohne dass der Prozess abbricht. Das Ergebnis landet unter dem Ergebnispfad.
Fehler und Verhalten
- Fachliche Fehler liefern
{status, message}und der Prozess läuft weiter, obwohl keine Mail gesendet wurde. Damit der Vorgang abbricht, gehört in den Output-Ausdruck das Musterstatus = 200 ? $ : $error(message); dann greift ein Fehler-Randereignis oder der Vorgang endet im Fehler. - Geprüft wird in dieser Reihenfolge, die erste Verletzung wird gemeldet:
toRecipients is required.→Invalid email address(es): …→subject is required.→Either html or text is required.→Invalid sender address: …→Tenant '…' is not allowed to send from domain '…'→Invalid replyTo: …→Attachment is missing referenceId: …→Attachment could not be loaded (referenceId=…)→Attachments exceed maximum total size of 5242880 bytes (5MB).Ohne Freigabe des Accounts:Tenant '…' is not authorized to send simple emails.mitstatus403. - Technische Fehler beim Versand (Dienst nicht erreichbar, Mailserver lehnt ab) werfen: Mit Fehler-Randereignis läuft der Prozess dort weiter, ohne Randereignis endet der Vorgang im Fehler mit Wiederaufsetzpunkt und Fehler-Mail an den Prozessverantwortlichen.
- Wiederholungen: Bis zu drei Versuche nur bei vorübergehenden technischen Fehlern; eine Mail kann dann doppelt ankommen. Fachliche Fehler werden nicht wiederholt.
- Zeitgrenze: 900 Sekunden je Aufruf. Im Dry Run wird keine Mail gesendet.
Beispiel
Die Musterfirma GmbH versendet eine Rechnung. In der Nachricht liegen kunde (E-Mail, Ansprechpartner) und rechnung (Nummer, Bruttobetrag, Leistungsmonat, PDF als Datei-Objekt pdf).
- Absender-E-Mail:
"Musterfirma GmbH" <info@musterfirma-augsburg.de> - An:
kunde.email - Bcc:
buchhaltung@musterfirma-augsburg.de - Betreff:
Ihre Rechnung $(rechnung.nummer) – Musterfirma GmbH - HTML-Dateninput:
{ "kunde": kunde, "rechnung": rechnung } - Anhänge:
rechnung.pdf - HTML-Inhalt:
<p>Guten Tag {{kunde.ansprechpartner}},</p><p>anbei Ihre Rechnung {{rechnung.nummer}} über {{currency_eur rechnung.brutto}} für die IT-Beratung im {{month_name rechnung.leistungsmonat}}.</p> - Output-Ausdruck:
status = 200 ? $ : $error(message)· Ergebnispfad:versand
Ausgabe wie oben mit attachmentCount: 1. Der nächste Datenbank-Schritt setzt den Rechnungsstatus auf „versendet“; ein Fehler-Randereignis führt zur Benutzeraufgabe „Versand prüfen“.
Häufige Fragen
Das Panel meldet „E-Mail einsatzbereit“, der Schritt liefert aber toRecipients is required.
Das Panel zählt auch Cc oder Bcc allein als Empfänger, der Versand verlangt aber mindestens eine Adresse unter An. Cc und Bcc ergänzen das An-Feld, ersetzen es nicht.
Der Prozess lief durch, aber es kam keine Mail an.
Der Schritt hat {status: 400 oder 403, message} zurückgegeben und der Prozess ist weitergelaufen. Die Meldung steht im Process Explorer unter Aktivitäten → In/Out. Mit dem Output-Ausdruck status = 200 ? $ : $error(message) bricht der Vorgang in solchen Fällen ab.
Antworten des Kunden landen bei support@pantarey.io.
Ohne Eintrag unter Antwortadresse (Reply-To) gilt diese Standardadresse. Die eigene Adresse dort eintragen.
Im Betreff wird ein JSONata-Ausdruck nicht ausgewertet.
Der Betreff kennt nur Platzhalter $(feld.pfad) und Helfer wie $toGermanDate(…). Berechnungen gehören in den HTML-Dateninput und werden im Betreff über $(pfad) eingesetzt.
Nächster Schritt
Handlebars-Helfer: Beträge, Daten und Bedingungen im HTML-Inhalt formatieren.