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:<br>" & exc.ToString
End Try
End Sub
</script>
Le cose che balzano subito all'occhio sono molte. Cominciamo con ordine.
Per prima cosa, notiamo il costrutto Try...Catch , molto caro (ed utile) ai programmatori di Javascript, per esempio, che ci permette finalmente di avere una gestione delle eccezioni nettamente migliore rispetto al passato.
Qualche riga più in basso, invece abbiamo le righe di codice che inviano il messaggio. In sostanza, rispetto a CDONTS cambia davvero poco.
Vediamo quanto invece sia utile accedere alle proprietà dei server controls, nel nostro caso degli input box, un po' sulla falsa riga del VB classico.
Interessante invece è la riga successiva a questa routine, che ci permette di nascondere totalmente, in fase di esecuzione, un blocco di codice.
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"mentre per mandarla in BCC (blind carbon copy, copia carbone nascosta), questo pezzo di codice:
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.HTMLConclusioni
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
Contenuti dell'articolo
Per inserire un commento, devi registrarti alla nostra community.








Difficoltà

Stampa
Download


