FB_SmtpFull

FB_SmtpFull 1:

Dieser Funktionsbaustein kommuniziert über ADS mit dem TwinCAT SMTP Server. Er bietet sehr umfangreiche Mail-Funktionalitäten, wie zum Beispiel die Priorisierung von Emails aus der SPS heraus. Im Detail werden die einzelnen Parameter in dieser Dokumentation erläutert.

VAR_INPUT

VAR_INPUT
    sNetId                   : T_AmsNetID;       (* AmsNetID *)
    sSmtpServer              : T_MaxString;      (* Smtp Server addres ( IP or Name) *)
    sUsername                : T_MaxString;  (* Smtp Username *)
    sPassword                : T_MaxString;  (* Smtp Password *)
    nAuth                    : UDINT;  (* Smtp Auth Type*)
    sFrom                    : T_MaxString;  (* Sender stzring *)
    sTo                      : T_MaxString;  (* To recipient string *)
    sCc                      : T_MaxString;  (* Cc recipient string *)
    sBcc                     : T_MaxString;  (* Bcc recipient string *)
    sDispositionNotification : T_MaxString;  (* Disposition notification recipent string *)
    sReturnReceipt           : T_MaxString;  (* Return recipent string *)
    nPriority                : UDINT;  (* Priority value *)
    nSensitivity             : UDINT;  (* Sensitivity value *)
    nPort                    : UDINT;  (* Communication port *)
    nContentType             : UDINT;  (* Content type *)
    sSubject                 : T_MaxString;  (* Subject string *)
    pMessage                 : DWORD;  (* Pointer to the message *)
    cbMessage                : UDINT;  (* Messagelenght in byte to send *)
    sAttachments             : ARRAY [0..32] OF STRING; (* Different attachments *)
    bExecute                 : BOOL;  (* Trigger flag *)
    tTimeout                 : TIME := T#20s;  (* Communication timeout *)
END_VAR

sNetId: AmsNetID, auf dem der TwinCAT SMTP Server läuft.

sSmtpServer: Name oder IP des SMTP Servers

sUsername: Benutzername des SMTP Servers

sPassword: Passwort für den SMTP Server.

nAuth: Smtp Auth Type:
0 = AUTH NONE
1 = RESERVED
2 = AUTH LOGIN
3 = AUTH NTLM
4 = AUTH PLAIN

sFrom: Ein String, der die E-Mail-Adresse des Absenders enthält. Der Absender muss festgelegt werden. Der String ist auf 255 Zeichen limitiert.

sTo: Ein String, der die E-Mail-Adresse des Empfängers enthält. Mindestens ein Empfänger muss eingetragen werden. Es ist aber auch möglich mehrere Adressen einzutragen. Diese müssen per Semicolon getrennt werden. Der String ist auf 255 Zeichen limitiert.

sCc: Ein String, der die E-Mail-Adresse von weiteren Empfängern enthält (cc=carbon copy). Es ist möglich mehrere Adressen von Empfängern einzutragen, diese müssen dann durch ein Semicolon getrennt werden. Der String kann aber auch leer bleiben. Dem/den Empfänger(n) wird eine Kopie der E-Mail zugeschickt. Die E-Mail-Adresse des Empfängers ist für andere Empfänger sichtbar. Der String ist auf 255 Zeichen limitiert.

sBcc: Ein String der die E-Mail-Adressen von weiteren Empfängern enthält (Bcc = blind carbon copy). Es ist möglich mehrere Adressen von Empfängern einzutragen, diese müssen dann durch ein Semicolon getrennt werden. Der String kann aber auch leer bleiben. Dem/den Empfänger(n) wird eine Kopie der E-Mail zugeschickt. Die E-Mail-Adresse der Empfänger ist für andere Empfänger nicht sichtbar. Der String ist auf 255 Zeichen limitiert.

sDispositionNotification: Die hier angegebene Mail-Adresse, erhält eine Lesebestätigung der Empfänger von sTo und sCc. Voraussetzung dafür ist jedoch, dass diese auch von den Empfängern gesendet wird.

sReturnReceipt: An die hier angegebene Mail-Adresse wird eine Übertragungsbestätigung der gesendeten Mail geschickt.

nPriority: Mit diesem Parameter können Sie die Priorität der Mail einstellen:
1 = Highest
2 = not used
3 = Normal
4 = not used
5 = Lowest

nSensitivity: Mit diesem Parameter können Sie die Vertraulichkeit der Nachricht einstellen:
0 = Private
1 = Personal
2 = Normal
3 = Confidential

nPort: Hier können Sie den Kommunikations-Port auswählen. Sollten Sie keinen eigenen Port eintragen, so wird auf den Default-Port 25 zurückgegriffen.

nContentType: Durch diesen Parameter ist es möglich beispielsweise HTML-Code, welcher per Pointer (pMessage) und Größe (cbMessage) einer Stringvariablen dem Baustein übergeben wird, in der eMail lesbar zu machen.

sSubject: Dieser String enthält den Betreff der eMail. Falls die eMail ohne Betreff gesendet wird, wird automatisch der Computername des Absenders in die Betreffzeile geschrieben (z.B. "eMail gesendet von: CX_00762C"). Der String der Betreffzeile ist auf 255 Zeichen limitiert.

pMessage: Dieser Parameter gibt die Adresse des Strings, welcher den Nachrichtentext enthält, an. Falls die E-Mail ohne Text gesendet wird, wird automatisch das Datum und die Uhrzeit eingesetzt (z.B. "Mail send at Thu, 23 Mar 2006 02:31:44 -0800"). Die Adresse des Strings kann mit dem ADR Operator ermittelt werden.

cbMessage: Länge des E-Mail-Textes. Die Länge kann durch den LEN Operator festgelegt werden.

bExecute: Der Funktionsbaustein wird durch eine steigende Flanke an dieser Eingangsvariablen aktiviert.

sAttachments: Auflistung von Dateinamen

tTimeout: Die erlaubte, maximale Zeit, um einen Befehl auszuführen.

VAR_OUTPUT

VAR_OUTPUT
    bBusy   : BOOL;
    bError  : BOOL;
    nErrId  : UDINT;
END_VAR

bBusy: Der Output bleibt TRUE, bis der Block einen Befehl ausgeführt hat, allerdings nur bis zum Ablauf von tTimeOut.

bError : Der Output wird auf TRUE umgeschaltet sobald ein Fehler bei der Ausführung des Befehls auftaucht. Der Befehls-spezifische Fehler ist in iErrorId enthalten.

nErrId: Beinhaltet den befehlsspezifischen Fehler Code des zuletzt ausgeführten Befehls (siehe Tabelle).

FB_SmtpFull 2:
  • Stellen Sie sicher, dass Sie \o nicht innerhalb der Byte-Anordnung verwenden, ansonsten wird die Nachricht gestoppt.
  • Die maximale Anzahl von Zeichen in einer Nachricht beträgt 510.725 - insgesamt haben Sie 1275 Zeichen für From, To, Cc, Bcc and Subject.

Voraussetzungen

Development environment

Target system type

PLC libraries to be linked

TwinCAT v2.10.0 and above

 

TcSmtp.lib