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