Blog alskare

.Net y lo que surja

Enviar correo electrónico desde ASP.NET (II) – Configurando el Web.Config

Posted by alskare en 03/01/2010

¡Hay que ver lo que tiene esto de dedicarse al mundillo de la programación!, que a veces te cansas de hacer un copiar y pegar de cosas que tienes por ahí perdidas y ni te preocupas de mirar cómo solventarlo de otra manera. Me llegó la hora de entonar el mea culpa por no haber visto antes un punto tan sencillo.

En una de las empresas en las que trabajo tienen un server dedicado en 1and1 y la verdad es que es todo un lujazo programar en un sitio en el que no tienes que preocuparte de si el ISP te deja añadir un componente u otro. La verdad es que ya nos ha tocado sufrir lo suyo en este sentido.

Hace ya algún tiempo escribí un artículo – Enviar correo electrónico desde ASP.NET – en el que dejaba una clase que servía para enviar correos electrónicos desde ASP (bueno, la verdad es que la misma clase tiene utilidad si quieres usarla en una aplicación de escritorio). No obstante, enviar un correo electrónico desde ASP es una tarea mucho más fácil si almacenas la configuración del servidor SMTP en el Web.Config del modo siguiente:

<system.net>
  <mailSettings>
    <smtp from="usuario@dominio.com"> <!--Cuenta válida en el servidor de correo SMTP-->
      <network host="servidorSMTP" password="contraseña" userName="userSMTP" />
    </smtp>
  </mailSettings>
</system.net>

De esta manera, cada vez que queramos crear un nuevo mensaje de correo electrónico, bastará con introducir unas pocas sentencias de código que, lógicamente, pueden complicarse dependiendo de la necesidad:

/// <summary>
 /// Envío de un mensaje de correo electrónico
 /// </summary>
 /// <param name="address">Dirección de destino</param>
 /// <param name="subject">Asunto del mensaje</param>
 /// <param name="body">Mensaje</param>
 /// <remarks>
 /// En caso de cambio de la configuración de la cuenta del remitente, 
 /// deberá realizarse en el fichero Web.config
 /// </remarks>
 public void SendMessage(string address, string subject, string body)
 {
     System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
     // Dirección de destino
     message.To.Add(address);
     // Asunto 
     message.Subject = subject;
     // Mensaje 
     message.Body = body;

     System.Net.Mail.SmtpClient smpt = new System.Net.Mail.SmtpClient();
     smpt.Send(message);
 }

2 comentarios to “Enviar correo electrónico desde ASP.NET (II) – Configurando el Web.Config”

  1. alskare said

    Si no ando equivocado, el mejor modo es usar la rutina que incluyo dentro de este mismo blog:
    https://alskare.wordpress.com/2009/08/19/enviar-correo-electrnico-desde-asp-net/

  2. Miguel Angel said

    Me gustaria saber si hay una forma similar para mandar correo pero atraves de windows forms.

    Saludos!!!

Sorry, the comment form is closed at this time.

 
A %d blogueros les gusta esto: