
Pozdrav
webmajstori!Na siteu je objavljen vodic Izrada
Flash bannera autora Vlahe Soletica. Slanje
e-maila pomocu ASP.NET-a
Napisao: Nikola Ristic © 2001 - 2003 U
danasnje vrijeme interneta gotovo svaka web stranica ima kontakt obrazac, tj.
nacin na koji posjetitelji mogu kontaktirati vlasnika stranice. Ti razni obrasci
izradjeni su u raznim programskim jezicima, a mi cemo napraviti jedan kontakt
obrazac u VB.NET-u. Obrazac za slanjeNapraviti
cemo jedan web obrazac s poljima ime, email i komentar.
To ce, dakle, biti obrazac u koji ce posjetitelji upisati svoje ime, e-mail adresu
i naravno komentar ili neko pitanje. Krenimo na posao. U svoje editore
napisite sljedeci kod: <center><asp:Label
id="message" runat="server"/></center> <form runat="server">
<table> <tr> <td>Vase ime:</td> <td><asp:Textbox
id="ime" runat="server"/></td> </tr> <tr> <td>Vas
e-mail:</td> <td><asp:Textbox id="email" runat="server"/></td>
</tr> <tr> <td valign=top>Komentar:</td> <td>
<asp:Textbox id="komentar" runat="server" TextMode="Multiline" rows=5 cols=20/></td>
</tr> <tr> <td colspan=2 align=left> <asp:Button id="submit"
runat="server" Text="Posalji" OnClick="Send"/></td> </tr> </table>
</form> U ovom kodu napravili smo jedan web obrazac. Razlika
izmedju web obrasca i HTML obrasca lezi u tome sto je web obrazac
"server-based", tj. elementi obrasca rade se na serveru. Elementi
web obrasca nazivaju se web kontrole. U ovom primjeru koristimo
3 kontrole: textbox, button i jednu Label kontrolu. Sve
ove kontrole nalaze se u imenskom prostoru System.Web.Ui.WebControls. Klase
sadrzane u ovom imenskom prostoru omogucuju i dinamicko kreiranje web obrazaca. Osobine
web kontrola
Server-based: Elementi se stvaraju
na serveru. Down-Level Support:Ova osobina znaci da ASP.NET nece
browseru poslati HTML kod koji ne razumije. Metode, svojstva i dogadjaji:Svaka
od ovih kontrola posjeduje svojstva, metode i dogadjaje koji programerima omogucava
kreiranje obrazaca u Design ili Runtime modu. Procedura
za slanje e-maila Potrebno je jos napraviti proceduru za slanje. Bez
te procedure nas obrazac bio bi beskoristan. Proceduri smo dali naziv Send.
Kod procedure
Da bismo mogli slati
email s ASP.NET stranice, prvo moramo uvesti odgovarajuci imenski prostor.
U ovom slucaju taj se imenski prostor naziva System.Web.Mail. U tom imenskom
prostoru nalaze se 3 klase: MailMessage:sluzi za konstruiranje
e-mail poruka SmtpMail:Klasa pomocu koje se salju e-mail poruke
MailAttachment: Klasa koja omogucuje konstruiranje mail privitaka.
Evo i koda: Sub Send(Sender As Object,E
As EventArgs) Dim objmail As New MailMessage objmail.To="email@domena.com"
objmail.From=email.text objmail.Subject="Kontakt" objmail.BodyFormat=MailFormat.Text
objmail.Body=komentar.text smtpmail.smtpserver="mail.domena.com" Try smtpmail.send(objmail)
message.text="Mail uspjesno poslan" Catch Exc As Exception message.text="Doslo
je do greske prilikom slanja" End Try End Sub U ovoj proceduri koristili
smo klase MailMessage i SmtpMail. Svaka od ovih klasa ima svoja
svojstva. Mailmessage klasa ima ova svojstva: To:-
oznacava kome saljemo mail From:- oznacava tko je poslao e-mail
Subject:- sadrzi temu poruke BodyFormat:- klasa
u kojoj zadajemo format e-mail poruke Body:- poruka koja se salje
Postoje jos razna svojstva klase MailMessage, ali nam ona nisu potrebna.
SmtpMail klasa ima ova svojstva: - smtpserver - njime
zadajemo naziv mail servera pomocu kojeg se salje poruka
- Send -
salje poruku, a kao argument uzima objekt tipa MailMessage
- Blok
koda Try, End Try sluzi nam za "hvatanje gresaka". U dio bloka Try
stavili smo metodu za slanje poruke. Ako tokom izvrsavanja koda ne dodje do nikakve
greske, mail ce biti poslan i korisnik ce dobiti poruku o uspjesnom slanju. Ako
se desi neka greska, korisnik ce dobiti poruku da e-mail nije poslan.
- Label
- ispisuje poruku.
Kod u cijelosti
<%@
Page Language="VB" %> <%@ Import Namespace="System.Web.Mail" %> <script
runat="server"> Sub Send(Sender As Object,E As EventArgs) Dim objmail As
New MailMessage objmail.To="email@domena.com" objmail.From=email.text objmail.Subject="Kontakt"
objmail.BodyFormat=MailFormat.Text objmail.Body=komentar.text smtpmail.smtpserver="mail.domena.com"
Try smtpmail.send(objmail) message.text="Mail uspjesno poslan" Catch Exc As
Exception message.text="Doslo je do greske prilikom slanja" End Try End Sub
</script> <html> <head> <title>Slanje e-maila pomocu
Asp.Net-a</title> </head> <body> <center><h3>Slanje
e-maila pomocu asp.neta</h3></center> <center> <p><asp:Label
id="message" runat="server"/></p> </center> <form runat="server">
<table> <tr> <td>Vase ime:</td> <td><asp:Textbox
id="ime" runat="server"/></td> </tr> <tr> <td>Vas
e-mail:</td> <td><asp:Textbox id="email" runat="server"/></td>
</tr> <tr> <td valign=top>Komentar:</td> <td>
<asp:Textbox id="komentar" runat="server" TextMode="Multiline" rows=5 cols=20/></td>
</tr> <tr> <td colspan=2 align=left> <asp:Button id="submit"
runat="server" Text="Posalji" OnClick="Send"/></td> </tr> </table>
</form> </body> </html> Snimite gore navedeni
kod kao neko_ime.aspx i isprobajte ga. NAPOMENA 1 : Da bi skripta
funkcionirala, potrebno je izmijeniti sljedece: objmail.To: - umjesto
email@domena.com stavite vasu e-mail adresu. smtpmail.smtpserver: -
zamijenite mail.domena.com vasim mail serverom. Za detalje o mail serveru kontaktirajte
vaseg davatelja hostinga. NAPOMENA 2 : Za izvrsavanje ove stranice
bit ce vam potreban web server s instaliranim .NET Framework-om. Pogledajte
stranicu
uzivo. O autoru:
Nikola
Ristic (titlovi@titlovi.com) - Apsolvent
je odjela za matematiku u Osijeku. Ljubitelj Microsoftovih tehnologija. Zanima
ga sve sto je vezano uz internet, a posebno internet programiranje (ASP, ASP.NET).
Autor je najposjecenijeg divx sitea http://www.titlovi.net,
http://www.titlovi.com na
podrucju bivse Jugoslavije te sam webmaster stranice http://www.orahovica.hr,
http://www.orahovica.net.
|