Lo script di oggi ci mostra come inviare email utilizzando la classe System.Net.Mail.
Andando a vedere più all'interno le caratteristiche di questa classe, da sottolineare il fatto che usa le collection, caratteristica che rende possibile fare un invio multiplo con un solo comando.
Oltre ciò è stata aggiunta la possibilità di fare un invio tramite autenticazione ed il supporto per invii asincroni.
Il codice seguente ci mostra come fare:
try { // Creo l'oggetto MailMessage messaggio = new MailMessage(); messaggio.From = new MailAddress("imperugo@test.local", "imperugo"); // Aggiungo i destinatari per l'inviomultiplo. messaggio.To.Add(new MailAddress("imperugo@test.local", "imperugo")); messaggio.To.Add(new MailAddress("ugo.lattanzi@test.local", "Ugo Lattanzi")); messaggio.To.Add(new MailAddress("lattanzi@test.local", "Ugo Lattanzi")); messaggio.Bcc.Add(new MailAddress("ugo.lattanzi@test.local", "Ugo Lattanzi")); messaggio.CC.Add(new MailAddress("ugo.lattanzi@test.local", "Ugo Lattanzi")); messaggio.Subject = @"L'oggetto della mia mail"; messaggio.SubjectEncoding = System.Text.Encoding.UTF8; messaggio.Body = @"Il mio messaggio di testo <b>in formato html</b>"; messaggio.BodyEncoding = System.Text.Encoding.UTF8; messaggio.IsBodyHtml = true; SmtpClient server = new SmtpClient(); server.Send(messaggio); } catch(Exception exc) { lblMessaggio.Text = @"Si è verificato un errore durante l'invio: <br>" + exc.StackTrace.ToString(); }
Mentre la definizione delle impostazioni va fatta nel web.config:
<configuration> <system.net> <mailSettings> <smtp from="imperugo@test.local"> <network host="smtp.test.local" userName="" password="" port="25"/> </smtp> </mailSettings> </system.net> </configuration>
Da precisare che l'inivio a più destinatari del messaggio consiste nell'inviare la stessa email a più persone, quindi è una funzionalità non adatta per la creazione di mailing list.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.