Táto služba realizuje posielanie emailov cez SMTP protokol. Služba sa štartuje z adresára D2000_EXE/bin64/smtp.exe
(alebo v prípade Linuxu: D2000_EXE/bin64/smtp
).
Parametre služby sú nasledovné:
../log
do logovacieho adresára D2000. Pokiaľ adresár na tejto relatívnej ceste neexistuje loguje sa do vytvoreného adresára ./log
v pracovnom adresári pod ktorým je proces spustenýOkrem parametrov zadávaných v príkazovej riadke je možne konfigurovať aj samotný JVM proces v ktorom služba beží, cez súbor smtp.cfg ktorý sa musí nachádzať v tom istom adresári - D2000_EXE/bin64/.
V súbore je možné zadefinovať parametre spôsobom zdokumentovaným pre Jar2Exe nástroj. Napríklad zapnutie ladenia celej sieťovej komunikácie pre JVM je možné nasledujúcou konfiguráciou
option -Djavax.net.debug=all |
Služba poublikuje funkcionalitu cez nasledovné ESL rozhranie:
RPC PROCEDURE [_hTC, TC_B] OpenConnection(IN TEXT _host, IN INT _port, IN TEXT _from, IN BOOL _enableSsl, IN TEXT _userName, IN TEXT _password, IN BOOL _disablePlainAuthenticationSend, IN TEXT _additionalProperties) RPC PROCEDURE [_hTC, TC_B] OpenConnectionFromProps(IN TEXT _properties) RPC PROCEDURE [_hTC, TC_C] SendMail(IN INT _mailId, IN TEXT _from, IN TEXT _to, IN TEXT _cc, IN TEXT _bcc, IN TEXT _subject, IN TEXT _body) RPC PROCEDURE [_hTC, TC_E] CloseConnection |
Toto rozhranie založené na aplikačne definovaných konverzáciách. Konverzácia sa iniciuje volaním RPC metódy OpenConnection
alebo alternatívne OpenConnectionFromProps,
ktorými sa inicializuje spojenie na SMTP server. RPC metódou SendMail
sa posiela email v rámci danej konverzácie. Ukončenie spojenia/konverzácie je realizované cez RPC metódu CloseConnection
. Všetky volania metód sú asynchrónne. Klient musí na svojej strane implementovať nasledovné rozhranie aby mohol byť notifikovaný o stave svojích volaní:
RPC PROCEDURE [_hTC, TC_C] OnConnectionOpened RPC PROCEDURE [_hTC, TC_E] OnConnectionClosed(IN BOOL _closedWithError, IN TEXT _errorMessage, IN TEXT _errorDetail) RPC PROCEDURE [_hTC, TC_C] OnMailSent(IN INT _mailId) RPC PROCEDURE [_hTC, TC_C] OnMailSendingFailed(IN INT _mailId, IN TEXT _errorMessage, IN TEXT _errorDetail) |
Metóda OpenConnection
realizuje pripojenie na SMTP server cez parametre metódy. Interne je posielanie emailov realizované cez knižnicu JavaMail , ktorá sa konfiguruje cez množinu vyše 50 konfiguračných parametrov. Väčšinu z nich je potrebné explicitne zadávať iba vo výnimočných prípadoch. Z tohto dôvodu RPC metóda OpenConnection
má iba najpoužívanejšie parametre , zvyšok je možné zadefinovať cez parameter _additionalProperties
vo formáte Java properties súborov.