Delphi – Slanje e-mail poruka

Skoro svaka od vaših aplikacija koju projektujete i kreirate za druge bi trebala da sadrži mogućnost za slanje e-mail poruka. Ugradnjom ove funkcije dobijate efektniji program, klijenti bi recimo, direktno iz programa mogli da vam šalju komentare, razne upite i drugo. Sve ovo se u Delphi-ju realizuje uz pomoć „TNSMTP“ kontrole, sa palete Internet, koja se koristi za slanje e-mail poruka na neki SMTP server. SMTP je i protokol koji je jednostavan, a za pristup, tj. odašiljanje poruke, uglavnom nije potrebna autentikacija na strani servera (slanje username-a i password-a). Ovo znači da možete da uspostavite konekciju sa bilo kojim javnim SMTP serverom, pošaljete poruku(e) i potom se diskonektujete.

Kao primer, kreiraćemo jednu malu formu sa slanje e-mail poruka:


  • Pokrenite Delphi i na praznu formu postavite četiri Label-e, tri Edit kontrole, jednu Memo kontrolu i jedno komandno dugme. Rasporedite ih kao na slici.

  • Postavite na formu i kontrolu TNSMTP. Kod ove kontrole možete podesiti i SMTP server na koji šaljete poruku, preko osobine „Host“, mada će u većini slučajeva biti dovoljno da upišete „mail“.

  • Kada ste postavili sve potrebne komponente, prećićemo na kodiranje. Prvo što treba da dodamo je programski kod koji je potreban za uspostavljanje konekcije sa serverom:


    // ovde upisujete naziv hosta
    SMTP.Host := ‘smtp.eunet.yu’;
    SMTP.Connect;

    Da ne zabravimo, prethodni kod dodajte u događaj „Click“ komandnog dugmeta (Button1).

  • Pošto smo uspostavili konekciju sledi slanje same poruke sa svim potrebnim segmentima. Najpogodniji momenat za slanje poruke je po dešavanjeu događaja „OnConnect“, kada je sigurno da je veza uspostavljena. A onda sledi i sam kod:


    with SMTP.PostMessage do
    begin
    FromAddress:=Edit1.Text;
    ToAddress:=Edit2.Text;
    Subject:=Edit3.Text;
    Body:=Memo1.Lines;
    end;
    SMTP.SendMail;

Ovo je sve što vam je potrebno za slanje e-mail poruka. Zapazite, da su osobine: ToAddress, ToBCC, ToCC i Body, osobine sa tipom podatka „TStringList“. Ovo je zbog toga što data polja mogu da sadrže više linija teksta.

Pratite Krstaricu na www.krstarica.com