Envía correo electrónico con SendGrid

Puedes usar la tecnología de SendGrid para tus correos electrónicos en Google App Engine. SendGrid puede mejorar tu capacidad de entrega y ofrecer transparencia sobre lo que realmente sucede con todos los correos electrónicos que envía tu aplicación. Con la interfaz o la API de SendGrid, puedes ver estadísticas sobre correos electrónicos abiertos, clics, suscripciones anuladas, informes de spam y más.

Precios

Los clientes de Google App Engine pueden enviar 12,000 correos electrónicos por mes de manera gratuita. Sigue los pasos a continuación para suscribirte a los correos electrónicos gratuitos y conocer los planes de mayor volumen.

Antes de comenzar

Para comenzar necesitarás:

  1. Crear o seleccionar un proyecto de GCP en GCP Console y, a continuación, asegurarte de que el proyecto incluya una aplicación de App Engine:

    Ir a App Engine

    El Panel se abrirá si ya existe una aplicación de App Engine en tu proyecto. De lo contrario, se te solicitará que selecciones la región donde quieres que se ubique tu aplicación de App Engine.

  2. Registrarte con SendGrid a través de GCP Console y como desarrollador de Google Cloud Platform podrás acceder a los 12,000 correos electrónicos gratuitos por mes.

  3. Si quieres implementar una aplicación para Java en App Engine, primero debes configurar el entorno. Consulta Cómo implementar una aplicación para Java y obtén más detalles.

    Descarga el SDK

Envía un correo electrónico

Una vez que completes los requisitos previos, asegúrate de que tu máquina local esté configurada para Java.

Agrega los módulos de la biblioteca Java para SendGrid requeridos a tu aplicación. Por ejemplo, si usas Maven, agrega al archivo pom.xml del proyecto:

<dependency>
  <groupId>com.sendgrid</groupId>
  <artifactId>sendgrid-java</artifactId>
  <version>4.3.0</version>
</dependency>

Crea una clave de API en SendGrid y configura el dominio y la clave de API. Puedes usar el dominio que configuraste con SendGrid o su dominio de prueba.

<env-variables>
  <env-var name="SENDGRID_API_KEY" value="YOUR-SENDGRID-API-KEY" />
  <env-var name="SENDGRID_SENDER" value="YOUR-SENDGRID-SENDER" />
</env-variables>

Importa la biblioteca SendGrid en el código de tu aplicación:

import com.sendgrid.Content;
import com.sendgrid.Email;
import com.sendgrid.Mail;
import com.sendgrid.Method;
import com.sendgrid.Request;
import com.sendgrid.Response;
import com.sendgrid.SendGrid;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

Ahora puedes enviar correos electrónicos desde tu app con las siguientes líneas:

// Set content for request.
Email to = new Email(toEmail);
Email from = new Email(sendgridSender);
String subject = "This is a test email";
Content content = new Content("text/plain", "Example text body.");
Mail mail = new Mail(from, subject, to, content);

// Instantiates SendGrid client.
SendGrid sendgrid = new SendGrid(sendgridApiKey);

// Instantiate SendGrid request.
Request request = new Request();

try {
  // Set request configuration.
  request.setMethod(Method.POST);
  request.setEndpoint("mail/send");
  request.setBody(mail.build());

  // Use the client to send the API request.
  Response response = sendgrid.api(request);

  if (response.getStatusCode() != 202) {
    resp.getWriter().print(String.format("An error occurred: %s", response.getStatusCode()));
    return;
  }

  // Print response.
  resp.getWriter().print("Email sent.");
} catch (IOException e) {
  throw new ServletException("SendGrid error", e);
}

Deberás agregar tus propios detalles de la cuenta. Luego, edita la dirección de correo electrónico y otros contenidos de mensajes.

Cuando estés listo para implementar tu aplicación en App Engine, puedes usar Maven (mvn appengine:deploy) o la herramienta de línea de comandos appcfg. Para obtener más información, consulta Cómo implementar tu app.

Para obtener más información relacionada con los correos electrónicos en tus aplicaciones, consulta la documentación de SendGrid.

Obtén información en tiempo real

Además de enviar correos electrónicos, SendGrid puede ayudarte a recibir correos o comprender los correos que ya enviaste. Las dos soluciones webhook en tiempo real pueden aumentar de manera significativa la función que desempeña el correo electrónico en tu aplicación.

Cómo usar la API de Event

Una vez que comiences a enviar correos electrónicos desde tu aplicación, querrás saber más sobre el rendimiento. Las estadísticas de SendGrid son una de sus mejores funciones. La API de Event te permite ver todos estos datos como un enorme flujo constante. Por ejemplo, cuando un destinatario abre o hace clic en un correo electrónico, SendGrid puede enviar un poco de JSON descriptivo a tu aplicación de Google App Engine. Puedes reaccionar al evento o almacenar los datos para uso futuro.

Puedes usar los datos de eventos de muchas maneras. Algunos usos comunes son integrar las estadísticas de correo electrónico en los paneles internos o usarlos para responder inmediatamente a las anulaciones de suscripciones y los informes de spam. Los usuarios avanzados de la API de Event envían sus correos electrónicos solo a aquellas personas que los abrieron o hicieron clic en ellos en los últimos meses a fin de aumentar la participación de los destinatarios.

La documentación de la API de Event muestra cómo configurar un webhook, describe los nueve tipos de eventos y muestra los campos incluidos en las devoluciones de llamada de eventos.

Cómo usar la API de Inbound Parse

También puedes usar SendGrid para recibir correos electrónicos. La API de Inbound Parse puede usarse para aplicaciones interactivas potentes. Por ejemplo, te permite automatizar los tickets de asistencia de correos electrónicos de clientes o recopilar datos a través de correos electrónicos cortos que los empleados envían desde la carretera. De hecho, la aplicación de recordatorios NudgeMail se basa completamente en la API de Parse.

Al igual que la API de Event, la API de Parse es un webhook que envía datos a tu aplicación cuando hay contenido nuevo disponible. En este caso, se llama al webhook cada vez que se recibe un correo electrónico nuevo en el dominio que asociaste con el correo electrónico entrante. Debido a las complejidades asociadas al funcionamiento del sistema DNS con el correo electrónico, debes asignar todos los correos entrantes al dominio o subdominio que usas para la API de Parse.

Los correos electrónicos se envían a tu aplicación con una estructura JSON que tiene remitente, destinatarios, asunto y cuerpo como campos independientes. Incluso puedes aceptar archivos adjuntos dentro del límite de tamaño de 20 MB que admite SendGrid.

Puedes encontrar más detalles en la Documentación de la API de Parse, incluidos los campos adicionales enviados con cada correo electrónico, junto con las instrucciones para configurar y usar el sistema DNS.

Google recibe una compensación por los clientes que se registran y abren una cuenta no gratuita.

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Entorno estándar de App Engine para Java 8