Es bastante común que necesitemos enviar correos electrónicos desde nuestras aplicaciones web para notificar ciertas acciones realizadas por eso, hoy quiero compartir un ejemplo de cómo desarrollar un Azure Webjob que realice el envío de correos por medio de SendGrid que, dado que para los suscriptores de Microsoft Azure dispone de una opción gratuita que permite enviar hasta 25.000 correos al mes, es, desde mi punto de vista, la mejor opción.
Para ilustrar el ejemplo, detallaré paso a paso cómo configurar todo lo necesario para usar SendGrid desde un proyecto de consola que después se podrá publicar como Webjob asociado a una aplicación web (Web App) alojada en Microsoft Azure.
Crear el servicio de SendGrid desde la tienda de Microsoft Azure
En primer lugar debemos acceder a nuestra cuenta de Microsoft Azure y dirigirnos a la tienda de servicios donde buscaremos SendGrid. Una vez lo hayamos localizado, sólo tenemos que agregarlo y rellenar los datos correspondientes a su configuración.
 
	
 
	
 
	
Es muy importante que nos quedemos con el usuario y que recordemos la contraseña porque será lo que nos permita enviar el correo
Añadiendo la referencia a SendGrid en nuestro proyecto
Ahora que ya tenemos creado el servicio de SendGrid, debemos referenciar la API desde nuestro proyecto de consola que previamente habremos creado. Esto lo haremos desde el Administrador de paquetes de Nuget

Crear un correo
Ahora que ya tenemos el servicio y la referencia a la API, será muy sencillo crear y enviar correos tal y como se explica en la documentación de SendGrid
Lo primero que debemos hacer es generar el correo con los parámetros correspondientes tal y como muestro en el siguiente código
private static MailMessage CreateEmail(){
    // Create the email object first, then add the properties.
	 var message = new MailMessage();    // Add the message properties.    message.From = new MailAddress("santiagoporras@santiagoporras.com");
    // Add multiple addresses to the To field.    var recipients = @"Santiago Porras Rodríguez <demo1@gmail.com>,
                       Santiago Porras Rodríguez <demo2@gmail.com>,
                       Usuario Demo 1 <demo1@outlook.com>,
                       Usuario Demo 2 <demo2@outlook.com>";
    message.To.Add(recipients);
    message.Subject = "Testing the SendGrid Library";
    //Add the HTML and Text bodies    var html = "<h1>¡santiagoporras.com próximamente!</h1><p>En breve estará disponible mi sitio web. No dudes en visitarlo</p>";
    var text = "¡santiagoporras.com próximamente!n En breve estará disponible mi sitio web. No dudes en visitarlo";
    message.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(html, null, MediaTypeNames.Text.Html));
    message.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(text, null, MediaTypeNames.Text.Html));
    return message;}
Enviar un correo
El envío lo haremos por medio de SMTP mediante un simple código que establece las credenciales con las que estamos dados de alta en el servicio y que os dije que debíais recordar en el paso de creación del servicio.
private	static void SendEmail (string sgUsername, string sgPassword, MailMessage message)
{
    // Set credentials
    var credentials = new NetworkCredential(sgUsername, sgPassword);
    // Create SMTP cliente
    SmtpClient smtpClient = new SmtpClient("smtp.sendgrid.net", Convert.ToInt32(587));
    smtpClient.Credentials = credentials;
    // Send email
    smtpClient.Send(message);
}
Publicar como Webjob
Ahora debemos proceder a publicar este proyecto como Webjob de nuestra aplicación web tal y como os mostré en este artículo.
Ver estadísticas
Finalmente, podemos entrar en el sitio de estadísticas de SendGrid y ver cuál es el uso que estamos haciendo de este servicio.
 
	
Resumen
Como podéis comprobar, es muy sencillo crear el servicio, que nos permite el envío de hasta 25.000 correos de forma gratuita y, mediante su API, poder generarlos y enviarlos a los usuarios de nuestras aplicaciones web y espero que os sirva de ayuda. Podéis descargaros el código desde GitHub


 Con las últimas actualizaciones Visual Studio y ASP.NET 5, ya es posible crear un sitio conectado a un directorio activo desde la creación de la plantilla del proyecto, cosa que veníamos echando de menos los que ya estábamos haciendo algunas cosas con esta nueva versión de ASP.NET aunque, como podremos observar, es una tarea bastante sencilla una vez la hayamos visto.
 Con las últimas actualizaciones Visual Studio y ASP.NET 5, ya es posible crear un sitio conectado a un directorio activo desde la creación de la plantilla del proyecto, cosa que veníamos echando de menos los que ya estábamos haciendo algunas cosas con esta nueva versión de ASP.NET aunque, como podremos observar, es una tarea bastante sencilla una vez la hayamos visto.  
  
  
  
  
  
  
 


 Ayer se abrieron las puertas de la zona TLP Innova dentro de Tenerife Lan Party pero hoy comienza mi participación con TenerifeDev apoyando a los ponentes que hemos invitado a ilustrarnos y formarnos sobre algunas de las nuevas tecnologías de Microsoft.
Ayer se abrieron las puertas de la zona TLP Innova dentro de Tenerife Lan Party pero hoy comienza mi participación con TenerifeDev apoyando a los ponentes que hemos invitado a ilustrarnos y formarnos sobre algunas de las nuevas tecnologías de Microsoft.  
  El pasado 4 de julio estuve en Andorra para disfrutar de
El pasado 4 de julio estuve en Andorra para disfrutar de  
  
  
 
	 
	 
	 
	

 
	 
	 
	





