Posielanie EMailu z ASP.NET stránky

Keď sa tak preplazujem slovenským webom, zdá sa mi, že tu sa akosi opomína nová, veľmi sľubná technológia Microsoftu ASP.NET. Možno je to tým, že nie je dostatok informacií o tom, èo nám ASP.NET prinesie oproti ASP.

Najlepšie sa to ale demonštruje na ukážke jednoduchosti programovania - takže zaènem s problémom, ktorý bol veľmi tažko riešiteľný v ASP: posielanie EMailu.

ASP.NET obashuje sadu classov na posielanie EMailu v Namespace System.Web.Mail. Vložme teda do stránky pomocou príkazu @Import tento namespace (miesto, kde su uložene potrebné objekty):

<%@ Import Namespace="System.Web.Mail" %>

Z tohoto namespace potrebujeme dva objekty: MailMessage a SmtpMail. Prvý je class, ktorý bude obsahovať informácie o EMailovej správe a druhý je metóda, ktorou sa tento class spracuje. Kód je jednoduchý (nebudem tu rozpisovat syntax .aspx stránky - možno nabudúce, ak má niekto záujem):

Dim mail As New MailMessage
mail.From = "me@myservername.com"
mail.To = "you@yourservername.com"
mail.Subject = "Pozdravujem Slovensko"
mail.Body = "Pozdrav z dialky pri pohary mineralky posiela Nasinec!"
mail.BodyFormat = MailFormat.Html
SmtpMail.Send(mail)

Aby pekne všetko fungovalo, dajme na stránku tlaèítko, ktoré keď návštevník stlaèí, EMail sa pošle. Naviac vypíšeme na stránku priateľský oznam, že sa tak stalo. Všimnite si, ako jednoducho sa pomocou Label1 dá do stránky vložiť a meniť text. Takže celá .aspx stránka na odoslanie EMailu z ASP.NET bude nasledovná:


<html>
<head>
<script language="VB" runat="server">
Sub Button1_Click(sender As Object, e As EventArgs)
Dim mail As New MailMessage
mail.From = "me@myservername.com"
mail.To = "you@yourservername.com"
mail.Subject = "Pozdravujem Slovensko"
mail.Body = "Pozdrav z dialky pri pohary mineralky posiela Nasinec!"
mail.BodyFormat = MailFormat.Html
SmtpMail.Send(mail)
Label1.Text="E-Mail odisiel"
End Sub
</script>
</head>
<body>
<h3><font face="Verdana">Posielanie EMailu z ASP.NET stranky.</font></h3>
<form runat=server>
<asp:Button
id=Button1
Text="Posli EMail"
onclick="Button1_Click"
runat="server" />
<asp:Label
id=Label1
runat=server />
</form>
</body>
</html>

Teraz už treba dať tento kód do súboru, ktorý nazveme napr. EMail.aspx (všimnite si koncovku) a uloziť ho na web server. Na záver je treba upozorniť, že aby EMailova stránka odišla, musí byť na servri nainštalovaný .NET Framework a spustený SMTP server.

Developer,
Stiahnuté z Developer.sk