Vidíte historickú verziu tejto stránky. Pozrite si aktuálnu verziu.

Porovnať s aktuálnou verziou Zobraziť históriu stránky

« Predchádzajúce Verzia 17 Ďalej »

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 príkazovej riadky

Parametre služby sú nasledovné:

  • -c <connectionString> – adresa, na ktorej počúva proces D2Connector.exe na príchádzajúce JAPI spojenia. Ak je JAPI spojenie šifrované, za bodkočiarkou sa nachádza cesta k súboru s certifikátom. Ak je využitá redundancia, parameter je možné zadať viackrát a vymenovať tak všetky body pripojenia. Príklady hodnoty parametra
    server.domain.sk:3120
    172.16.1.3:3121
    srvapp120v:3120;certifikat.crt
  • -w <applicationName> – voliteľné meno inštancie služby, implicitne je to SELF(.EMS -EMail Service)
  • --logDir <logging directory> - voliteľná cesta k logovaciemu adresáru, implicitne je hodnota nastavená na relatívnu cestu ../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ý
  • --reconnectTimeout <number of seconds> - počet sekúnd za koľko sa proces pokúsi znova pripojiť na D2Connector.exe, implicitná hodnota je 10 sekúnd

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 smtp.cfg.

option -Djavax.net.debug=all

ESL rozhranie pre posielanie mailov

Služba poublikuje funkcionalitu cez nasledovné ESL rozhranie:

I.SMTP_Service_v1
RPC PROCEDURE [_hTC, TC_B] OpenConnection(IN TEXT _host, IN INT _port, IN TEXT _defaultFrom, 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í:

I.SMTP_Client_v1
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)     

Otvorenie SMTP spojenia cez metódy OpenConnection a OpenConnectionFromProps

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 .properties súborov. Alternatívne je možné inciovať SMTP spojenie iba výlučne cez tieto nastavenia metódou OpenConnectionFromProps cez textový parameter _properties s nasledovným obsahom:

Príklad mail konfigurácie
mail.smtp.host=mail.xyz.com
mail.smtp.port=445
mail.smtp.from= abc@xyz.com 
mail.smtp.user=abc
mail.smtp.password=abcPassword 
mail.smtp.ssl.enable=true


# debugovanie posielanych mailov do logu
mail.debug=true

Uspešné otvorenie SMTP spojenia cez metódy OpenConnection/OpenConnectionFromProps je notifikované volaním metódy OnConnectionOpened v rámci interfacu I.SMTP_Client_v1, ktorý musí klient implementovať. Ukončenie SMTP spojenia alebo jej zlyhania je notifikované cez metódu OnConnectionClosed.

Poslanie mailu - metóda SendMail

Metóda SendMail implementuje posielanie emailu. Prvý parameter _mailId označuje identifikátor mailu ktorý vyplní klient pri volaní SendMail metódy. O úspechu resp. zlyhaní poslania mailu je klient notifikovaný cez metódy OnMailSentOnMailSendingFailed rozhrania I.SMTP_Client_v1.

  • Žiadne štítky