Obsah

Odesílání emailů – ST – z více účtů

Název funkce

SENDMAILCUSTOM

Volání v ST

PROGRAM TEST_SENDMAILCUSTOM
 VAR
        TESTEMAIL : BOOL :=TRUE;
    HOST : STRING[64] := 'SMTP.DOMAT.CZ';
       PORT : UINT := 25;
      USER : STRING[64] := 'INFO@DOMAT.CZ'; 
      PASSWORD : STRING[64] := '1234';
    SENDER : STRING[64] := 'INFO@DOMAT.CZ';
     RECIPIENT : STRING[64] := 'SUPPORT@DOMAT.CZ';   
        SUBJECT : STRING[64];
       MESSAGE : STRING[64]; 
 END_VAR
 
 IF TESTEMAIL THEN
    SUBJECT := 'TEST';
  MESSAGE := 'TESTOVACI EMAIL BYL POSLAN.';
   MESSAGING.SENDMAILCUSTOM(HOST, PORT, USER, PASSWORD, SENDER, RECIPIENT, SUBJECT, MESSAGE);
       TESTEMAIL := FALSE;
 END_IF;
END_PROGRAM

Knihovna

MESSAGING

Verze

V1.0

Popis

Volaná funkce posílá v každém výpočetním cyklu PLC jeden email. Z důvodu bezpečnosti doporučujeme jeho použití pouze v ST kódu. Psaní programu je třeba dbát zvýšené opatrnosti, aby nedošlo nechtěnému zahlcení adresáta emaily. Tato funkce umožňuje (oproti sendmail a sendmailtrig) průběžně měnit emailové účty, ze kterých je email odesílán. Pokud je potřeba odesílat zprávy na více adres, je potřeba použít blok vícekrát, nebo si před něj vytvořit přepínač, adres. Je ale potřeba dodržet pravidlo, kdy v jeden moment dochází k odeslání pouze jednoho emailu. Mezi emaily by měla být pauza minimálně jedné vteřiny, ideálně však i více. Pokud toto pravidlo není dodrženo, dojde k zaplnění fronty pro odeslání.

Vstupy

Vstup Typ Význam
HOST STRING_REFreference na proměnnou s názvem serveru, ze kterého je posílán email
PORT UINT číslo portu, který využívá PLC pro emailovou komunikaci
USERNAMESTRING_REFreference na proměnnou s uživatelským jménem účtu, ze kterého je posílán email
PASSWORDSTRING_REFreference na proměnnou s heslem do uživatelského účtu, ze kterého je posílán email
CHANNEL STRING_REFreference na proměnnou s názvem komunikačního spojení (definuje se v možnostech PLC; viz níže)
FROM STRING_REFreference na proměnnou s emailovou adresu, ze které je posílán email
TO STRING_REFreference na proměnnou s emailovou adresu adresáta
SUBJECT STRING_REFreference na proměnnou s předmětem emailu
MESSAGE STRING_REFreference na proměnnou se samotnou emailovou zprávu

Výstupy

VýstupTyp Význam
SINTčíselný status; výsledek kontroly nastavení systému

Funkce

Při každém volání funkce sendmailcustom v programu je poslán jeden email z definovaného emailového účtu username a adresy from na adresu to. Předmět emailové zprávy je definován v proměnné subject a samotné tělo v message.

Tato funkce nemá definované parametry připojení k serveru v Definici hlášení. Tyto hodnoty musí být definovány v proměnných, které jsou připojeny na vstupy funkce host, port, username a password. Díky to mohou být tyto parametry měněny v průběhu programu a může se měnit uživatelský účet, ze kterého je email odesílán.

Pozor, je nutné ověřit možnosti připojení PLC z místa instalace na emailový server.

Výstupní proměnná result hlásí výsledek kontroly nastavení systému.

Číselný statusVýznam
0 OK
8 Plná emailová fronta
16 Neznámý kanál
24 Chyba - hodnota číselného statusu nelze určit
jiné Interní chyba - kontaktujte technickou podporu Domat Control System

Příklad použití

Typicky lze tato funkce využít pro hlášení alarmových stavů. Odeslání emailu je spuštěno nastalým alarmovým stavem. Příklad viz výše, Volání v ST.