Nastavení odesílání pošty prostřednictvím SMTP
Vedle původních možností odesílání pošty z WinBase602 prostřednictvím klienta pošty Mail602 nebo klienta pošty podporující rozhraní MAPI, je nyní možné odesílat poštu přímo prostřednictvím SMTP. Tato varianta je využitelná ve všech prostředích, kde WinBase602 běží t.j. ve Windows, na Novellu a na Linuxu a FreBSD. Jedinou podmínkou pro využití této možnosti je připojení počítače do internetu a přístup k některému poštovnímu serveru.
Parametry inicializace pošty:
SMTPServer IP adresa poštovního serveru, může se jednat jak o server v lokální siti, tak o některý z veřejně přístupných serverů na internetu. Adresu lze zadat buď v textové, nebo v numerické formě.
např. smtp.seznam.cz nebo 123.456.789.123
MyAddress Poštovní adresa odesílatele. Např. hugo@software602.cz
FilePath Seznam složek, ze kterých lze odeslat soubor. Pokud se aplikace pokusí odeslat soubor z jiné složky, než je v seznamu, bude požadavek odmítnut. Jestliže parametr není specifikován, nebo obsahuje-li prázdný řetězec, bude možné odeslat libovolný soubor. Jde o to, že SQL server zpravidla běží s velkými přístupovými právy a je třeba neprivilegovaným uživatelům databáze zabránit v neoprávněnému přístupu k souborům.
např. C:\kodeslani;D:\data
nebo /pub/kdeslani;/pub/data
Na počítači může být pro potřeby různých aplikací nebo různých režimů provozu několik sad parametrů tzv. profilů. Aplikace se pak na konkrétní sadu parametrů odvolává prostřednictvím jména profilu. Implicitní sada má jméno prázdné. Parametry jsou v prostředí Windows uloženy v registrační databázi pod klíčem:
HKEY_LOCAL_MACHINE\SOFTWARE\Software602\WinBase602\Mail
Implicitní sada je uložena jako textové hodnoty tohoto klíče, pojmenované sady jako hodnoty podklíčů s daným jménem např.:
HKEY_LOCAL_MACHINE\SOFTWARE\Software602\WinBase602\Mail\Prof1
Profily parametrů lze nejsnáze spravovat pomocí konfiguračního panelu.
Na Novelu a na Unixu jsou parametry uloženy v souboru WBKERNEL.INI.
Implicitní sada je v sekci [MAIL_], pojmenované sady v sekcích [MAIL_jméno profilu] např.:
[MAIL_]
SMTPServer=smtp.post.cz
MyAddress=hugo@software602.cz
FilePath=c:\WinBase\posta;\c:\WinBase\export
[MAIL_LOCAL]
SMTPServer=192.168.2.213
MyAddress=hugo.software602.cz
Inicializace pošty v aplikaci:
V aplikaci se pošta inicializuje pomocí funkce
FUNCTION InitWBMail(var Profil, Heslo : string) : integer
Profil Jméno profilu, prázdný řetězec nebo NIL pro implicitní profil
Heslo Heslo není pro odesílání pošty prostřednictvím SMTP potřeba
Funkce vrací 0 v případě úspěchy, jinak kód chyby.
V souvislosti s tímto rozšířením se oproti původní dokumentaci zvětšila množina chyb, které vracejí poštovní funkce. Jedná se o chyby:
MAIL_DIAL_ERROR 510 Nepodarilo se navazat telefonni spojeni
MAIL_ALLREADY_INIT 511 Posta už byla inicializována s jiným profilem
MAIL_PROFILE_NOTFND 512 Profil pošty nenalezen v registrační databázi nebo ve WBKERNEL.INI
MAIL_PROFSTR_NOTFND 513 Některá z proměnných profilu nenalezena v registrační databázi nebo ve WBKERNEL.INI
MAIL_INVALIDPATH 514 Odeslání zadaného souboru není povoleno, protože se nenachází v povolené cestě
MAIL_SOCK_IO_ERROR 515 Nepodařilo se vytvořit socket pro komunikaci s poštovním serverem
MAIL_UNKNOWN_SERVER 516 Nepodařilo se přeložit IP adresu poštovního serveru
MAIL_CONNECT_FAILED 517 Nepodařilo se navázat spojení s poštovním serverem