Come posso inviare una mail attraverso ASP.NET?

Utente HTML.it
chiede

Come posso inviare una mail attraverso ASP.NET?

Redazione HTML.it
risponde

Per inviare mail da un’applicazione ASP.NET si devono utilizzare gli oggetti del namespace Sytem.Net.Mail, in modo analogo a quanto avviene con le applicazioni client. In questo caso, però, è possibile inserire le impostazioni del server SMTP all’interno del file web.config, a cui va aggiunta la sezione system.net:

<system.net>
<mailSettings>
  <smtp>
    <network host="smtp.libero.it" port="25"
             userName="username"
             password="password" />
  </smtp>
</mailSettings>
</system.net>

Fatto questo, il codice per l’invio vero e proprio è il seguente:

MailMessage message = new MailMessage();
message.To.Add("marco.minerva@gmail.com");
message.Subject = "Prova di invio di una mail";
message.Body = "Test di invio di una mail attraverso ASP.NET.";

SmtpClient client = new SmtpClient();
client.Send(message);

Le impostazioni del server SMTP non sono presenti nel codice, poiché sono recuperate automaticamente dal file web.config. Con tale approccio, è possibile modificare il server utilizzato per l’invio della posta senza dover ricompilare l’applicazione.