Campaña de e-mail marketing con Sendgrid en Azure
Hola a todos! Hoy vamos a ver como hacer para crear tu propio servicio de e-mail marketing en Microsoft Azure con algunos simples pasos. No necesitas ser un experto en tecnología para seguir esta guía.
Si aun no tenés una cuenta en Microsoft Azure, te dejo algunas formas de empezar gratis:
Derechos de autor
Esta guía fue 100% creada por Branko Straub, quien forma parte de nuestro equipo de Microsoft Student Partners en Argentina y Uruguay. Les recomiendo que pasen por su blog, ya que frecuentemente sube artículos super interesantes sobre Azure y desarrollo de aplicaciones móviles, entre otros temas.
Comentarios antes de empezar
Antes de montar tu servidor, vas a necesitar decidir tamaños de máquina y data center donde hostear tu aplicación. Para lo primero, te recomiendo este artículo. Para lo segundo, te recomiendo leas este otro.
Archivos necesarios:
Configuración en Azure
Lo primero que necesitamos hacer una vez que tenemos activa nuestra cuenta de Azure es agregar una tarjeta de crédito, si bien el servicio SendGrid es gratis hasta 25.000 emails por mes, al ser un complemento de la tienda de Azure este requisito es indispensable.
Prosigamos a agregar la tarjeta:
En el portal de Azure si vamos a la parte de adminstracion de Suscipciones veremos algo asi:
Hacemos click para cambiar la configuración.
Ahora vamos a ver lo siguiente agregamos un método de pago nuevo, en mi caso una tarjeta de crédito VISA.
Una vez que agregamos la tarjeta y ponemos aceptar vamos a ver una opción que nos dice quitar el limite de gasto, esto no es necesario, tienen la opción de hacerlo. Pero una vez agregada la tarjeta alcanza con cerrar dicha ventana y regresar al portal.
Una vez que volvimos al portal ponemos “nuevo” y luego seleccionamos “Tienda”
Buscamos SendGrid y le damos Ok:
Nos da la opción de elegir un nombre y su ubicación geográfica:
Ya que es un servicio pago, veremos un resumen de la transacción, pero si eligimos correctamente la versión gratuita de 25.000 emails, veremos como el resumen total aparecerá en 0 pesos:
Una vez creado debemos anotar los datos de conexión y luego ir al portal de administración de SendGrid para configurar unos pequeños detalles:
Anotamos el usuario y la contraseña que nos serán útiles luego:
Nos dirigimos al portal de administración, en la parte inferior en Azure hay un ítem que nos permite ingresar al mismo directamente, veremos en la parte superior del portal de SendGrid que hay una advertencia, clickeamos ahí para completar los datos que faltan
Terminamos de configurar todo y veremos todos los “ticks” en verde:
Una vez realizados todos estos pasos ya hemos terminado con la configuración de todo lo que es “Cloud” ahora vamos a remitirnos al Visual Studio.
Configuración en Visual Studio
Para el resto del tutorial yo opte por realizar el programa en .Net (C#) pero cabe destacar que SendGrid permite JS, C#, y además cuenta con una WebApi entre otras cosas.
Recordemos que para continuar deben bajar el proyecto que se encuentra alojado en OneDrive: https://1drv.ms/1zdZMJK
Lo descomprimimos, lo iniciamos y lo único que debemos hacer es realizar unos pequeños cambios en el código:
Donde dice “var credentials = new NetworkCredential("usuario", "contraseña");”
Reemplazamos usuario y contraseña por las nuestras (las que anotamos antes).
Luego podemos adaptar el código a nuestro gusto y necesidades.
Observaciones:
myMessage.From = new MailAddress("atencion@heqsoa.onmicrosoft.com");
Esta opción nos permite elegir el remitente que va a ver el usuario que recibe el email.
List<String> recipients = new List<String>
{
@"Jeff Smith <Jeff@hotmail.com
@"Anna Lidman <Anna@outlook.com>",
@"Peter Saddow <Peter@microsoft.com>"
};
Esto nos permite agregar los usuarios que van a recibir los emails, en este caso agregue tres destinatarios a mano, pero los mismos se pueden cargar desde un archivo Txt, Excel, SQL, etc.
myMessage.Subject = "Azure Boxs Testing";
Acá podemos cambiar el asunto del email.
StreamReader reader = File.OpenText(@"C:\email.html");
myMessage.Html = reader.ReadToEnd();
Ya que la mayoria de los emails hoy en dia se encuentran en format HTML podemos leer nuestro email desde un archivo de esta manera y luego cargarlo.
myMessage.AddAttachment(@"C:\file1.txt");
Esto nos deja enviar archivos adjuntos.
Una vez realizados todos los cambios que desean pueden probar enviar un email de prueba, en mi caso me base en un email de ImagineCup 2015, como pueden observar son libres de elegir el remitente que ustedes deseen ya que el encargado de enviar los emails es SendGrid y no su casilla de email:
Gracias a todos y espero que les haya sido útil.
Cualquier duda, consulta o comentario será más que bienvenido.