Antonio Feliziani
a- a+

E-Mail da pagine ASP.NET

L'ambiente .NET mette a disposizione degli sviluppatori un nuovo oggetto per la gestione e l'invio di E-Mail da pagine ASP.NET: il System.Web.Mail.

La prima operazione da eseguire è l'importazione del namespace System.Web.Mail:

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

 

Il codice per l'invio della Mail è relativamente semplice ed intuitivo; viene creato un nuovo oggetto Mail che utilizza le stesse proprietà che erano presenti nel "vecchio" CDONTS: From, To, Cc, Bcc, Subject, Body:

  • From: contiene l'indirizzo Email del mittente
  • To: contiene l'indirizzo Email del destinatario
  • Cc: contiene l'indirizzo Email del destinatario per la Copia Conoscenza
  • Bcc: contiene l'indirizzo Email del destinatario per la Cc "nascosta"
  • Subject: contiene l'oggetto del messaggio che deve essere inviato
  • Body: contiene il testo del messaggio

Per inviare il messaggio basterà utilizzare il metodo  Send(oggetto)

Dim mail As New MailMessage

  mail.From = txtFrom.Value
  mail.To = txtTo.Value
  mail.Cc = txtCc.Value
  mail.Bcc = txtBcc.Value
  mail.Subject = txtSubject.Value
  mail.Body = txtBody.Value

SmtpMail.Send(mail)

 

Ora, è necessario inserire le istruzioni create, all'interno di una funzione che eseguirà l'invio del messaggio solo al verificarsi di un determinato evento, ad esempio la pressione di un tasto.

 

<script language="VB" runat="server">

Sub Button1_Click(sender As Object, e As EventArgs)

  Dim mail As New MailMessage

      mail.From = txtFrom.Value
      mail.To = txtTo.Value
      mail.Subject = txtSubject.Value
      mail.Body = txtBody.Value

  SmtpMail.Send(mail)

End Sub

</script>

 

Alla pressione del tasto Submit, presente nella pagina ASP.NET, verrà invocata l'esecuzione della funzione sopra indicata; un ultimo consiglio, per migliorare l'esecuzione del codice, è l'utilizzo del gestore delle eccezioni (Try ... Catch) che rappresenta una delle novità introdotte dal Framework .NET.

Attraverso il costrutto Try ... Catch è possibile gestire ed "intercettare" tutti gli eventuali errori che si potranno verificare durante l'esecuzione della funzione di Invio Mail ed eseguire determinate istruzioni o visualizzare messaggi di errore:

 

<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)

  ' l'invio è andato a buon fine, quindi nascondo il form

  form1.visible = false

  lblAvviso.InnerHtml = "Il messaggio è stato inviato correttamente!"


Catch exc As Exception

  ' si è verificato un errore

  lblAvviso.InnerHtml = "Errore nell'invio:<br>" & exc.ToString

End Try

End Sub

</script>

 

In dettaglio: l'istruzione Try cerca di eseguire il codice al suo interno, nel caso in cui l'operazione non vada a buon fine, l'istruzione Catch "cattura" il tipo di eccezione sollevata  Catch exc As Exception  e visualizza l'errore che si è verificato  exc.ToString.



Ti potrebbe interessare anche

commenta la notizia

C'è 1 commento
Sara
Hai dubbi su questo articolo?