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.


