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