Enviar Email desde la web

Una tarea habitual desde un sitio web es enviar algún tipo de correo a los usuarios: para comprobar su identidad, avisos urgentes, confirmaciones de pedidos, recuperación de contraseñas... Puesto que es una tarea estandarizada, en WebMatrix se ha querido facilitar al máximo proporcionando un helper exclusivo para esta funcionalidad.

A lo largo del curso veremos más helpers incluidos en WebMatrix. Un helper es literalmente un ayudante, una clase pensada para realizar tareas concretas sin que el programador tenga que conocer su funcionamiento interno, sino que se limite a configurarla mediante sus propiedades y utilizarla mediante sus métodos. Existen numerosos helpers "de fábrica" en WebMatrix que nos facilitarán mucho tareas como enviar correos electrónicos, integrarnos con redes sociales, rss, etc. Se recomienda además instalar los helpers adicionales disponibles a través del "Package Manager". Para acceder a esta herramienta basta con ejecutar el sitio web y acceder a una página especial situada en la raíz de nuestro sitio web. Por ejemplo, si al iniciar el sitio en la página por defecto se nos muestra la dirección https://localhost:1234/default.cshtml, la tendríamos que cambiar por https://localhost:1234/_Admin y accederíamos directamente a esta página. La lista completa de helpers disponibles está disponible en el  anexo de la documentación del producto.

Configurar el correo

Lo primero que tenemos que preparar es el propio helper de correo, configurando los valores de conexión con el SMTP que hará el envío. Normalmente esta operación sólo tenemos que hacerla una vez (salvo que utilicemos varias cuentas de envío) y podremos enviar todos los correos que necesitemos.

La configuración consiste en inicializar las propiedades del helper WebMail. Según nuestra cuenta de correo saliente tendremos que establecer los parámetros de servidor, puerto de envío (típicamente el 25), si necesitamos conexión segura SSL, datos de autenticación en el servidor SMTP y la información para mostrar en el "FROM" del email.

 //Inicializar WebMail para Hotmail
WebMail.SmtpServer = "smtp.live.com";
WebMail.SmtpPort = 25;
WebMail.EnableSsl = true;
WebMail.UserName ="NombreUsuario@hotmail.com";
WebMail.From = "NombreUsuario@hotmail.com";
WebMail.Password = "contraseña";
FakePre-ece48f9cb80b4fc895a87ec3d1f1e3e5-dc8fd9edce4f4cd2917de38c84615055

Enviar correo

Una vez configurado este helper podemos utilizar el método Send para enviar correo:

 // Envío de mail
WebMail.Send( to:"direcciones destinatarios", subject: "Asunto",
body: "Cuerpo del mensaje" );

El método Send tiene otras sobrecargas que nos permiten especificar más opciones, cómo por ejemplo la que incluye el parámetro filesToAttach, que acepta una matriz de strings cómo rutas de archivos adjuntos.

 //Archivos adjuntos
String[] adjuntos = new String[]{ "rutaArchivo1","rutaArchivo2",
"rutaARchivo3" };
// Envío de mail
WebMail.Send( to: "direcciones destinatarios", subject: "Asunto",
body: "Cuerpo del mensaje", filesToAttach=adjuntos );