viernes, 4 de noviembre de 2016

ASP.NET: Crear mensajes de E-mail

En el siguiente ejemplo se muestra como crear un mensaje de E-mail que será enviado al cargar la página.

1. Crea un nuevo fichero llamado Email.aspx.

2. Cambia al Code Behind pulsando la tecla F7 y al inicio del fichero, antes de la definición de clase, añade la siguiente sentencia  para hacer que las clases en el espacio de nombres System.Net.Mail estén disponibles en nuestro código: using System.Net.Mail;

3. Añade el siguiente código al Page_Load: 

protected void Page_Load(object sender, EventArgs e)
{
    MailMessage myMessage = new MailMessage();
    myMessage.Subject = "Test Message";
    myMessage.Body = "Hello world, this is an example";
    myMessage.From = new MailAddress("you@example.com", "Sender Name");
    myMessage.To.Add(new MailAddress("you@example.com", "Receiver Name"));
    SmtpClient mySmtpClient = new SmtpClient();
    mySmtpClient.Send(myMessage);
}

Cambia los nombres y las direcciones de e-mail de las dos líneas que establecen las direcciones del From y el To. Si solo tienes una dirección de e-mail, puedes utilizar la misma dirección para el emisor y el receptor del mensaje.

4. Abre el fichero Web.config y justo antes del cierre de la etiqueta </configuration>, añade las siguientes líneas:

<system.net>
    <mailSettings>
      <smtp deliveryMethod="Network" from="Your Name &lt;you@example.com&gt;">
        <network host="smtp.example.com" />
      </smtp>
    </mailSettings>
  </system.net>
</configuration>
No olvides cambiar smtp.example.com por el nombre de tu servidor SMTP. También asegúrate de introducir tu nombre y dirección de e-mail en el atributo from. Si es necesario, añade los atributos userName, password, enableSsl, y port al elemento <network>. Esta configuración se debe aplicar si se desea realizar pruebas con un servidor real. Sin embargo, durante el desarrollo, existe una manera mucho más sencilla de manejar los e-mails enviados por nuestra aplicación: almacenarlos directamente en nuestro disco duro. Para realizar esto, hay que indicar en el fichero Web.config:

<system.net>
    <mailSettings>
      <smtp deliveryMethod="SpecifiedPickupDirectory" from="Mi Nombre <you@example.com>">
        <specifiedPickupDirectory pickupDirectoryLocation="C:\TempMail" />
      </smtp>
    </mailSettings>
  </system.net>
Se tiene que crear manualmente el directorio donde se van a almacenar los e-mails. No olvides cambiar el nombre y la dirección del atributo from.

5. Guarda todos los cambios, vuelve a la página Email.aspx y ábrela en el navegador. Después de un instante deberías recibir un mensaje de e-mail en la dirección que has especificado o en el directorio de tu disco duro que has creado.

No hay comentarios:

Publicar un comentario