Delphi - Zistenie, ci je nastaveny mailovy klient...
Zdravim a mam tu prvu otazku co sa tyka Delphi. Da sa nejako zistit, ci je nastaveney a nakonfigurovany nejaky mailovy klient? Resp. ci sa pouziva nejaky mailovy klient. Potreboval by som to kvoli tomu, ze ak je nastaveny tak aplikacia automaticky odosle mail prostrednictom mailoveho klienta (ak je teda nastaveny), v opacnom pripade iba vytvori subor a ten si musi uzivatel odoslat manualne. Proste iba nieco na taku hlasku: "Nemate nastaveneho mailoveho klienta".
Vdaka
Na tohle doporucuji knihovnu JCL (pouze unity, nejsou to komponenty)
http://sourceforge.net/project/showfiles.php?group _id=47514
Seznam e-mailovych klientu zjistis pomoci:
[pas]Mail := TJclSimpleMapi.Create;
{ zjisteni, zda je nejaky klient }
if Mail.AnyClientInstalled then
...
{ naplneni seznamu klientu }
for i := 0 to Mail.ClientCount - 1 do
ListBox1.Items.Add(Mail.Clients[i].ClientName);
Mail.Free; [/pas]
Zjistí to přítomnost klienta nebo přítomnost nakonfigurovaného klienta?
Přítomnost klienta by asi nemělo cenu zjišťovat, vzhledem k defaultní instalaci OE ve Windows...
P.S.: Zdejší CODE je super, co? Oproti jiné poradně...
Zjisti pritomnost vsech zaregistrovanych klientu.
Ale mas pravdu, jestli je nebo neni nakonfigurovany, to bohuzel nepozna. A bojim se, ze by to bylo hodne tezke nejak zjistit - M$ pouziva zapisy v registrech, nejruznejsi dalsi klienti to maji treba v INI nebo ve svych proprietarnich souborech...
Pomoci JCL jsem ale schopny pouzit jakehokoliv klienta, ktery je dostupny a podporuje Simple MAPI, nejsem zavisly na vychozim.
Dalsi moznost, ktera mne napada je pouzit v programu primo SMTP a maily odesilat ve sve rezii. V tom pripade bych asi sel vlastni cestou - z registru bych zjistil konfiguraci SMTP Outlook Express a pripadne to nechal uzivateli vyplnit.
Pak bych se nemusel starat o nejakeho klienta...
No dobre. Zistim, ze mam nejakeho klienta v PC. Ale nie je nakonfigurovany, takze mi to je k nicomu. Dobry napad je posielat maily vo vlastnej rezii. Hovori sa tu o zisteni konfiguracie SMTP alebo to vyplnenie nechat na uzivatela. O akom vyplneni (udajoch) sa tu hovori? To ako odosielatel, prijimatel, text, resp. priloha? To je dobry napad. Ale nemam ani najmensiu sajnu, ako zistit konfiguraciu SMTP. Je to niekde v registroch? Dobre, zistim si konfiguraciu a co potom? Su nejake komponenty, alebo unity na to, ze podla konfiguracie SMTP mi odosle mail?
Abys mohl pouzivat odesilani ve vlastni rezii, musis znat adresu SMTP serveru (bud firemniho nebo smtp.centrum.cz apod.)
Do toho vstupuje overovani uzivatelu - musi se v nekterych pripadech posilat jmeno a heslo
Pokud bys tohle chtel pouzit napr. pro Google, je to jeste vetsi zazitek - nestandardni adresy portu, overovani, sifrovani...
K odesilani:
bud pouzijes InDy komponenty (mel by tam byt mail klient) nebo treba synapsi (synapse), unita SMTPSend