Odesílání emailů - ST
Název funkce
SENDMAIL
Volání v ST
PROGRAM TEST_SENDMAIL VAR TESTEMAIL:BOOL:=TRUE; CHANNEL : STRING[64] := 'ALRCHANNEL'; SENDER : STRING[64] := 'INFO@DOMAIN.COM'; RECIPIENT : STRING[64] := 'SUPPORT@DOMAIN.COM'; SUBJECT : STRING[64]; MESSAGE : STRING[64]; END_VAR IF TESTEMAIL THEN SUBJECT := 'TEST'; MESSAGE := 'TESTOVACI EMAIL BYL POSLAN.'; MESSAGING.SENDMAIL(CHANNEL, 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. Při psaní programu je třeba dbát zvýšené opatrnosti, aby nedošlo nechtěnému zahlcení adresáta nebo SMTP serveru emaily. 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 |
CHANNEL | STRING_REF | reference na proměnnou s názvem komunikačního spojení (definuje se v možnostech PLC; viz níže) |
FROM | STRING_REF | reference na proměnnou s emailovou adresu, ze které je posílán email |
TO | STRING_REF | reference na proměnnou s emailovou adresu adresáta |
SUBJECT | STRING_REF | reference na proměnnou s předmětem emailu |
MESSAGE | STRING_REF | reference na proměnnou se samotnou emailovou zprávu |
Výstupy
Výstup | Typ | Význam |
⇒ | SINT | číselný status; výsledek kontroly nastavení systému |
Funkce
Při každém volání funkce sendmail v programu je poslán jeden email z definovaného emailového účtu from na adresu to. Předmět emailové zprávy je definován v proměnné subject a samotné tělo v message.
Proměnná channel odkazuje na definované komunikační spojení. To je třeba vytvořit v možnostech PLC. Dvojklikem na PLC zobrazte jeho nabídku a vyberte záložku Definice hlášení a pravým kliknutím zobrazíte nabídku, ve které vyberete Přidat alarmový kanál.
Nyní definujete název, který je vstupem proměnné channel. Dále definujete typ spojení SMTP. Kliknutím vyberete kanál a v jeho vlastnostech nastavíte server, ze které bude email odesílán, a port na kterém bude RT komunikovat. V případě nutnosti přihlašování je třeba nastavit Používat přihlašování na true a následně vyplnit Jméno uživatele (standardně emailová adresa) a Heslo. Nakonec potvrdíte všechny změny klinutím na OK v červeně označeném dialogu.
Pozor, je nutné ověřit možnosti připojení PLC na emailový server.
Výstupní proměnná result hlásí výsledek kontroly nastavení systému.
Číselný status | Vý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.