SendWithAttachments

TwinCAT TIA
Netzwerk E-Mail

ns=2;s=DEPRAG Smart/Network/EMailClient/SendWithAttachments

Dieser Befehl sendet eine E-Mail-Nachricht mit Anhängen an alle im Feld MailAddressTo hinterlegten E-Mail-Adressen. Dateianhänge werden im Feld AttachmentFilePaths übergeben. Vor Verwendung der Funktionalität muss der SMTP-Server in den Einstellungen SmtpServerSettings gesetzt werden.

Parameter:

    AttachmentFilePaths
    Liste von absoluten Dateipfaden. Die entsprechenden Dateien werden als Anhang an die E-Mail angehängt.

Rückgabewert:

    SendWithAttachments
    Eine Variable vom Typ OpcMethodReturnValueVoid. Die Methode hat keine befehlsspezifischen Rückgabewerte.

Beispiele:

Neben den bereits erläuterten Parametern sind für die Implementierung in TwinCAT 3 nachfolgende Variablen anzulegen / zu übergeben:

Beckhoff Parameter:

    EmailAddressArray
    Eine Variable vom Typ "ARRAY[1..50] OF STRING(255)" in welchem die Empfänger E-Mail-Adressen hinterlegt werden
    bEMailClientSendWithAttachments
    Eine boolesche Variable, über welche die Ausführung des SendWithAttachments-Befehls getriggert werden kann.
    OutputDataEMailClientSendWithAttachments
    Eine Instanz der "ST_VoidOutputData" Struktur in welche der Rückgabewert des SendWithAttachments-Befehls geschrieben wird.
    hrEMailClientSendWithAttachments
    Hiermit kann die Ausführung des Befehls überwacht werden. Fehler-Codes haben den Typ "HRESULT".
    fbEMailClient
    Eine Instanz des, mit der DEPRAG Smart-Bibliothek gelieferten, "FB_EMailClient" Funktionsbausteins.
    sSubject
    Eine Variable vom Typ "POINTER TO ARRAY[1..1000] OF BYTE" in welchem der Betreff der E-Mail-Nachricht hinterlegt ist.
    SizeOfSubject
    Eine UINT-Variable, welche die Länge des Betreffs enthält.
    sContent
    Eine Variable vom Typ "POINTER TO ARRAY[1..5000] OF BYTE" in welchem der Text der E-Mail-Nachricht hinterlegt ist.
    SizeOfContent
    Eine UINT-Variable, welche die Länge des Textes enthält.
    sMailAdressFrom
    Eine Zeichenkette vom Typ "STRING(255)", welche die Absender E-Mail-Addresse spezifiziert.
    nNumberOfAddressesToMailTo
    Eine UINT-Variable, welche die Anzahl der Empfänger E-Mail-Adressen widergibt.
    EmailAttachmentsArray
    Eine Variable vom Typ "ARRAY[1..50] OF STRING(255)" in welchem die Dateipfade zu den anzuhängenden Dateien hinterlegt werden.
    ConnectionHandle
    Beim Verbindungsaufbau zwischen DEPRAG Smart Server und Ihrem OPC UA Client erhaltenes "ConnectionHandle".


VAR
   EmailAddressArray        : ARRAY[1..50] OF STRING(255) := ['employee@example.com'];
   EmailAttachmentsArray       : ARRAY[1..50] OF STRING(255) := ['C:\Test\text.txt'];
   bEMailClientSendWithAttachments       : BOOL;
   OutputDataEMailClientSendWithAttachments     : ST_VoidOutputData;
   hrEMailClientSend       : HRESULT;
   testShortByteArray : ARRAY[1..10] OF BYTE := [84, 101, 115, 116];
   testLongByteArray : ARRAY[1..1000] OF BYTE := [84, 101, 115, 116, 255, 84, 255];
   fbEMailClient         : FB_EMailClient;
END_VAR

hrEMailClientSendWithAttachments := fbEMailClient.EMailClientSendWithAttachments(
             bExecute       := bEMailClientSendWithAttachments,        
             ConnectionHandle    := depragSmartConnection.ConnectionHandle, 
             sMailAdressFrom     := 'test@deprag.de',                       
             MailAddressTo     := EmailAddressArray,                      
             nNumberOfAddressesToMailTo  := 1,                                      
             sSubject      := ADR(testShortByteArray),
             SizeOfSubject     := SIZEOF(testShortByteArray),
             sContent      := ADR(testLongByteArray),
             SizeOfContent     := SIZEOF(testLongByteArray),
             AttachmentFilePaths    := EmailAttachmentsArray,
             nNumberOfAttachmentFilePaths := 1,
             OutputData      => OutputDataEMailClientSendWithAttachments);
IF hrEMailClientSendWithAttachments <> S_FALSE THEN 
     bEMailClientSendWithAttachments := FALSE;
END_IF
                                                    

Für Beispiele und Erklärungen bezüglich der Aufrufe von Knoten via Siemens TIA Portal sei an dieser Stelle auf den Unterpunkt "Siemens TIA Portal" in Abschnitt "Erste Schritte" verwiesen.