SMTP
Übersicht
Abschnitt betitelt „Übersicht“Die Aktion SMTP sendet eine Mail direkt über einen Mailserver. Sie braucht kein Mailprogramm und eignet sich deshalb für PCs, die unbeaufsichtigt laufen. Mit SaveInSent legt RUNOS zusätzlich per IMAP eine Kopie im Gesendet-Ordner ab.
- Die Mail wird als HTML gesendet. Enthält der Text bereits HTML-Tags, wird er unverändert übernommen; reiner Text behält seine Zeilenumbrüche.
- Steht in
BodyoderSignaturder Pfad einer.txt- oder.html-Datei, nimmt RUNOS deren Inhalt, mit ersetzten Platzhaltern. - Ungültige Einträge in
To,CcundBccwerden übergangen. Anhänge, die es nicht gibt, werden ohne Meldung weggelassen; soll ein fehlender Anhang ein Fehler sein, nehmen Sie MAPI mitMissingAttachments: Error.
Im Workflow-Editor stellen Sie die Aktion in einem Formular zusammen und probieren sie mit Schritt testen aus.
Struktur
Abschnitt betitelt „Struktur“{ "Type": "SMTP", "Name": "RechnungSenden", "Parameters": { "SmtpServer": "smtp.example.com", "SmtpPort": 587, "UseSsl": true, "SmtpUser": "{{connector.Mailserver.Username}}", "SmtpPassword": "{{connector.Mailserver.Password}}", "From": "rechnung@example.com", "FromName": "Buchhaltung Muster GmbH", "To": "{{InitialData.Empfaenger}}", "Subject": "Rechnung {{InitialData.Invoice.BT1}}", "Body": "Guten Tag,\n\nanbei Ihre Rechnung.", "Attachments": "{{FilePath}}" }}| Parameter | Standard | Bedeutung |
|---|---|---|
SmtpServer |
– | Adresse des Mailservers |
SmtpPort |
587 |
Port, meist 587 (STARTTLS) oder 465 (SSL) |
UseSsl |
true |
Verschlüsselung verwenden (STARTTLS oder SSL, je nach Server) |
SmtpUser, SmtpPassword |
– | Anmeldung am Server. Ohne Benutzer wird ohne Anmeldung gesendet. |
From, FromName |
– | Absenderadresse und Anzeigename |
To, Cc, Bcc |
– | Empfänger, getrennt durch ; oder ,, oder der Pfad einer Textdatei mit Adressen |
Subject |
– | Betreff. Zeilenumbrüche werden zu Leerzeichen. |
Body, Signatur |
– | Text oder Pfad einer Text- bzw. HTML-Datei. Die Signatur steht unter dem Text. |
Attachments |
– | Dateipfade, getrennt durch ; oder , |
SaveInSent |
false |
true: nach dem Senden eine Kopie per IMAP im Gesendet-Ordner ablegen, siehe Kopie im Gesendet-Ordner |
ImapServer, ImapPort |
Port 993 |
IMAP-Server für SaveInSent, z. B. imap.strato.de |
ImapUser, ImapPassword |
SmtpUser, SmtpPassword |
Anmeldung am IMAP-Server. Leer = dieselben Zugangsdaten wie für SMTP. |
SentFolder |
– | Name oder Pfad des Gesendet-Ordners, z. B. Gesendet. Leer = automatisch erkennen. |
Timeout |
60 |
Zeitlimit in Sekunden |
Ergebnis
Abschnitt betitelt „Ergebnis“"Response": { "Results": [ { "Recipients": "kunde@example.com", "Subject": "Rechnung RE-2026-0001", "Attachments": [ "C:\\…\\RE-2026-0001.pdf" ], "Status": "OK", "Message": "Email sent successfully", "SaveInSent": { "Status": "Saved", "Folder": "Gesendet", "Message": "Saved in 'Gesendet'" } } ], "SuccessCount": 1, "ErrorCount": 0}Schlägt das Senden fehl, endet die Aktion mit Failed, und die Meldung des Servers steht in Message und im Protokoll.
Status und Message beschreiben nur das Senden. Ob die Kopie im Gesendet-Ordner liegt, steht getrennt in SaveInSent:
SaveInSent.Status |
Bedeutung |
|---|---|
Off |
SaveInSent ist aus |
Saved |
Kopie im Ordner Folder abgelegt |
AlreadyPresent |
Die Mail lag schon im Ordner (manche Server legen gesendete Mails selbst ab); keine zweite Kopie |
Failed |
Kopie nicht abgelegt; der Grund steht in Message |
NotSent |
Die Mail wurde nicht gesendet, also auch nicht abgelegt |
Kopie im Gesendet-Ordner
Abschnitt betitelt „Kopie im Gesendet-Ordner“Mit SaveInSent: true meldet sich RUNOS nach dem Senden per IMAP am Postfach an und legt die Mail im Gesendet-Ordner ab. Den Ordner wählt RUNOS so:
- Ist
SentFoldergesetzt, diesen Ordner (voller Pfad oder nur Name, Groß-/Kleinschreibung egal). - Sonst den Ordner, den der Server als Gesendet-Ordner kennzeichnet.
- Sonst den ersten vorhandenen dieser Ordner:
Gesendet,Gesendete Objekte,Gesendete Elemente,Gesendete Nachrichten,Sent,Sent Items,Sent Messages,Sent Mail. Bei STRATO heißt der Gesendet-Ordner per IMAPSent Items; im Webmail erscheint er als „Gesendet“.
Das Protokoll zeigt den gewählten Ordner (SentFolderSelected) und danach SavedInSent. Findet RUNOS keinen passenden Ordner, schreibt es eine Warnung mit allen Ordnern des Postfachs ins Protokoll; tragen Sie dann einen davon in SentFolder ein.
Schlägt das Ablegen fehl (falscher IMAP-Server, Anmeldung, Ordner), wurde die Mail trotzdem gesendet: Die Aktion endet mit Completed und einer Warnung, nicht mit Failed. So sendet eine Fehlerrichtlinie mit Wiederholung die Mail nicht ein zweites Mal. Setzen Sie bei SMTP auch keine OnWarningPolicy mit Retry, sonst wird bei einer Warnung erneut gesendet.
Formular im Editor
Abschnitt betitelt „Formular im Editor“Im Diagramm des Workflow-Editors hat die Aktion ein Formular (im Einstellungsfeld und in der mittleren Spalte der Testansicht):
- Mailserver: Server, Port (Standard 587), Verschlüsselte Verbindung (SSL/TLS) (Standard an), Benutzer (leer = ohne Anmeldung) und Passwort (als Punkte angezeigt).
- Mail: Absender, Absendername, An, Cc, Bcc, Betreff, Text (Text oder Pfad einer Datei, gesendet als HTML), Signatur und Anhänge.
- Weitere Optionen: Kopie im Ordner „Gesendet“ ablegen mit IMAP-Server (Port 993; Benutzer und Passwort standardmäßig wie bei SMTP; der Ordner „Gesendet“ wird automatisch gefunden) und Zeitlimit (Sekunden) (Standard 60).
Jedes Feld nimmt auch {{…}}-Platzhalter und Werte, die Sie in der Testansicht aus der Spalte Eingabe hineinziehen; Auswahllisten, Schalter und Zahlenfelder werden mit einem {{…}} zu einem Textfeld. Parameter, die das Formular nicht kennt, stehen unter Weitere Parameter. Schritt testen führt die Aktion sofort einmal aus, mit den Daten der Schritte davor, und zeigt das Ergebnis mit Fehlern und Warnungen. Der Test sendet die Mail wirklich.
Beispiel
Abschnitt betitelt „Beispiel“Jeden Morgen um 6 Uhr die Exportdatei des Tages an die Buchhaltung senden, mit Kopie im Gesendet-Ordner und drei Wiederholungen bei Netzwerkproblemen:
{ "Name": "Export an Buchhaltung", "Autostart": true, "Trigger": { "Type": "Time", "Name": "Morgens", "Parameters": { "CronExpression": "0 0 6 * * ?" } }, "Actions": [ { "Type": "SMTP", "Name": "Senden", "OnErrorPolicy": { "Strategy": "RetryThenNotify", "MaxRetries": 3, "InitialDelaySeconds": 5 }, "Parameters": { "SmtpServer": "smtp.example.com", "SmtpPort": 587, "SmtpUser": "{{connector.Mailserver.Username}}", "SmtpPassword": "{{connector.Mailserver.Password}}", "From": "runos@example.com", "FromName": "RUNOS", "To": "buchhaltung@example.com", "Subject": "Export vom %DATE%", "Body": "C:\\RUNOS\\Vorlagen\\export.html", "Attachments": "C:\\Export\\Export_%yyyy%-%MM%-%dd%.csv", "SaveInSent": true, "ImapServer": "imap.example.com", "ImapUser": "{{connector.Mailserver.Username}}", "ImapPassword": "{{connector.Mailserver.Password}}" } } ]}