SendGrid + Microsoft Azure + C#

SendGrid es un servicio que nos permite administrar el envío de correos electrónicos y hoy aprenderemos a utilizarlo mediante nuestra suscripción de Microsoft Azure.

Ingresamos en Microsoft Azure, seleccionamos “Servicios de desarrollo”, “SendGrid Email Delivery” y vamos a ingresar los siguientes datos:

  1. Nombre
  2. Clave
  3. Grupo de recursos (el que ustedes deseen)
  4. Tipo de plan (en esta ocasión seleccionamos gratuito)

00

 

01

 

02

Una vez que se crea se nos despliega la siguiente información, seleccionamos el icono de la llave para que nos despliegue nuestro usuario y lo copiamos

03a

Ahora vamos a crear un proyecto de ASP en Visual Studio

04

Será de tipo MVC

05

Instalamos el paquete NuGet de SendGrid

06

 

07.PNG

 

08

Ahora en nuestro Home Controller vamos a agregar la siguiente función

 		private async void sendEmail()
		{
			// Creamos el objeto de tipo Email
			SendGridMessage myMessage = new SendGridMessage();
		
			// Se agrega el remitente del email
			myMessage.From = new MailAddress("myname@example.com");
		
			// Se crea una lista con los destinarios
			List<String> recipients = new List<String>
			{
				@"Bacon Ipsum <user@domain.com>",
				@"Lorem Ipsum <user@domain.com>"
			};
			
			// se agregan los destinarios
			myMessage.AddTo(recipients);
			
			// se agrega el tema del email
			myMessage.Subject = "Testing the SendGrid Library on Sir-Rover!";
		
			// Se agrega el contenido del mensaje, cabe destacar que se puede hacer mediante texto o html
			myMessage.Html = "<p>Hello World from SendGrid!</p>";
			//myMessage.Text = "Hello World!";
		
		
			// Creamos las credenciales de nuestro servicio, enviamos :
			// 1 - el nombre de usuario que copiamos de azure
			// 2 - clave que ingresamos cuando se creo el servicio
			var credentials = new NetworkCredential("username", "password");
		
			// Creamos Web transport para enviar el email
			var transportWeb = new Web(credentials);
			
			// enviamos el email, nótese que es una tarea asíncrona por lo que utilizamos el await
			await transportWeb.DeliverAsync(myMessage);
		
		}


    

Ahora solo debemos llamar la función, en este ejemplo lo realizaremos cuando se desee navegar a la sección de Contacto de manera que la función Contact queda así

public ActionResult Contact()
{
    ViewBag.Message = "Your contact page.";
    sendEmail();
    return View();
}


En GitHub se puede encontrar el ejemplo, hasta la próxima 🙂

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s