Già da diverse versioni, le classi per inviare email presenti nel namespace System.Net.Mail sono state deprecate. Rimangono nel framework per retrocompatibilità, ma, non essendo più manutenute, il loro funzionamento non è più garantito. Per questo motivo, anche nelle pagine della documentazione appare un disclaimer che suggerisce di non usare più queste classi.
Esistono diverse alternative per inviare una mail e in questo script vedremo una di quelle più usate: MailKit. Una volta installato il package da NuGet, per inviare una mail dobbiamo creare un messaggio, impostarne mittente e destinatari, connetterci al server SMTP, autenticarci e inviare il messaggio. Tutti questi passaggi sono visibili nel seguente snippet.
var message = new MimeMessage(); message.From.Add (new MailboxAddress("Stefano Mostarda", "stefano@aspitalia.com")); message.To.Add (new MailboxAddress ("Daniele Bochicchio", "daniele@aspitalia.com")); message.Subject = "Mail from MailKit"; message.Body = new TextPart("plain") { Text = "Mail body" }; using (var client = new SmtpClient ()) { client.Connect ("smtp.server.com", port, false); client.Authenticate ("username", "password"); client.Send(message); client.Disconnect (true); }
Dal punto di vista del codice, la differenza tra l'uso di System.Net.Mail e MailKit è abbastanza evidente, ma dal punto di vista logico, l'approccio è esattamente lo stesso.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.