Ivan Gentile

Office and .NET blog
posts - 24, comments - 0, trackbacks - 2

domenica 19 marzo 2006

Inviare e-mail in VB.Net, C# e ASP.Net 2.0

Inviare e-mail nel Framwork 2.0 è quasi la stessa cosa della versione 1.0. Ci sono solo un paio di varianti.

La prima differenza è ne fatto che tutte le funzionalità sono incluse nel nuovo namespace System.Net.Mail e non più nel System.Web.Mail.

L'altra è da cercare nel codice seguente:

MailMessage oMsg = new MailMessage();
//Imposta il mittente
oMsg.From = new MailAddress("ivan.gentile
@sbsoft.it", "Ivan Ufficio");
//La proprietà .To è una collezione di destinatari,
//quindi possiamo addizionare quanti destinatari vogliamo.
oMsg.To.Add(new MailAddress("
ivan.gentile@libero.it","Ivan Casa"));
//Imposto oggetto
oMsg.Subject = "Prova E-Mail via .Net";
//Imposto contenuto
oMsg.Body = "Ci sono riuscito!!!";
oMsg.IsBodyHtml = true;
//Imposto il Server Smtp
SmtpClient oSmtp = new SmtpClient("smtp.server.com");
//Possiamo impostare differenti metodi di spedizione.
//Imposta consegna diretta.
oSmtp.DeliveryMethod = SmtpDeliveryMethod.Network;
//Alcuni Server SMTP richiedono l'accesso autenticato
NetworkCredential oCredential = new NetworkCredential("username","password");
oSmtp.UseDefaultCredentials = false;
oSmtp.Credentials = oCredential;
//Spediamo la mail
oSmtp.Send(oMsg);

Consiglio di impostare tutto in un blocco Try Catch dal momento che i motivi che generano eccezzioni sono diversi come: indirizzo e-mail errato, errori di autentificazione, problemi di rete, ecc...

Per chi volesse utilizzare questo codice in ASP.Net:

Dim oMsg As MailMessage = New MailMessage()

oMsg.To.Add(ivan.gentile@sbsoft.it)

oMsg.From = New MailAddress(ivan.gentile@sbsoft.it)

oMsg.Subject = "Prova"

oMsg.Body = "FATTO!!!"

Dim oSmtp As SmtpClient = New SmtpClient("smtp.server.com")

oSmtp.Send(oMsg)

Okkio le parole in rosso devono essere adattate in base al server smtp utilizzato.

Ciao

Ivan

posted @ 14.04 | Feedback (1)