Quasi tutte le applicazioni web oggi disponibili sul mercato utilizzano una routine per l'invio di e-mail in maniera automatica.
Le classic ASP ci mettono a disposizione CDONTS , attraverso il servizio SMPT incluso nei servizi internet di Windows, ma è anche possibile utilizzare altri component a pagamento o gratuiti.
Sebbene ASP.NET supporti ancora gli oggetti COM tradizionali, attraverso un'apposita funzionalità che permette di non buttare via gli investimenti già fatti, questi hanno delle prestazioni inferiori agli oggetti pensati esclusivamente per .NET.
In questo articolo vedremo come "tradurre" un normale form-to-mail che usa CDONTS ed una pagina ASP, in uno script ASP.NET che utilizzi invece il namespace System.Web.Mail .
Ovviamente, tutto il codice spiegato in questo articolo si riferisce alla beta 2 del .NET Framework.
Il namespace
Una delle novità di ASP.NET sono i namespace. Si tratta di "puntatori" a particolari oggetti, in grado di mettere a disposizione del framework determinate caratteristiche.
In questo caso utilizzeremo il namespace che ci permette di accedere alla gestione delle e-mail, ma ne sono disponibili altri in grado di dare accesso alle più disparate funzionalità, come ad esempio System.IO che permette di utilizzare le caratteristiche del file system.
All'opera
Per prima cosa, dobbiamo importare il namespace ed impostare il linguaggio utilizzato nella nostra pagina.
<%@ Page Language="VB" %> <%@ Import Namespace="System.Web.Mail" %>
<script language="VB" runat="server"> Sub Button1_Click(sender As Object, e As EventArgs) Try Dim mail As New MailMessage mail.From = txtFrom.Value mail.To = txtTo.Value mail.Subject = txtSubject.Value mail.Body = txtBody.Value SmtpMail.Send(mail) ' nascondo la form form1.visible = false lblAvviso.InnerHtml = "E-mail inviata con successo!" Catch exc As Exception lblAvviso.InnerHtml = "Errore nell'invio del messaggio: " & exc.ToString End Try End Sub </script>
CC, BCC e formato HTML
Allo stesso modo che con CDONTS, per inviare e-mail in CC (Copia Carbone) a qualcuno bisognerà utilizzare:mail.Cc = "mail@server.com"
mail.Bcc = "mail@server.com"
Infine, è possibile inviare e-mail in formato HTML. Basta inserire prima di invocare il metodo Send, questo codice:
mail.BodyFormat = MailFormat.HTML
Conclusioni
ASP.NET è così pieno di novità, che decidere da cosa iniziare è francamente difficile.
Spero che questo esempio vi sia utile per iniziare ad approfondire o a smanettare con questa nuova tecnologia.
Come potete vedere (anche scaricando l'allegato che contiene tutto lo script) le differenze non sono molte, anche se c'è un approccio differente.
Approfondimenti
- ASP.NET: sviluppare con la beta 2
- ASP.NET - il sito con esempi e download, a cura di Microsoft
Attenzione: Questo articolo contiene un allegato.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.