Envía correos electrónicos con SendGrid

correos electrónicos en 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 app. Puedes ver estadísticas sobre correos abiertos, clics, anulaciones de suscripciones, informes de spam y mucho más con la interfaz de SendGrid o su API.

Precios

Los clientes de App Engine pueden enviar 12,000 correos electrónicos al mes de manera gratuita si se registran en el plan de API de correos electrónicos de SendGrid mediante Google Cloud Platform Console. Ten en cuenta que Google recibe una compensación por los clientes que se registran en una cuenta paga.

Bibliotecas de SendGrid

Puedes enviar correos electrónicos con SendGrid a través de una retransmisión de SMTP o mediante una API web.

Para integrar SendGrid en tu proyecto de App Engine, usa las bibliotecas cliente de SendGrid.

Antes de comenzar

Sigue estos pasos para enviar un correo electrónico con SendGrid:

  1. Regístrate en el plan de API de correos electrónicos de SendGrid
  2. Toma nota de la clave de API de SendGrid.
  3. Selecciona o crea un proyecto de GCP nuevo en Google Cloud Platform Console y, luego, asegúrate de que existe una aplicación de App Engine y que la facturación esté habilitada.

    Ir a App Engine

    El Panel se abre si la aplicación de App Engine ya existe en tu proyecto y la facturación está habilitada. De lo contrario, sigue las instrucciones para seleccionar una región y habilitar la facturación.
  4. Agrega tu clave de API de SendGrid a la sección de variables del entorno en app.standard.yaml.
  5. Agrega la biblioteca cliente de SendGrid Node.js al package.json de tu aplicación. Por ejemplo:
    npm install --save sendgrid

Envía correos electrónicos

Puedes crear una instancia de SendGrid y usarla para enviar correos electrónicos.

En el código de muestra a continuación, se ve cómo enviar un correo electrónico y especificar algunos errores de manejo:

'use strict';

const express = require('express');
const path = require('path');
const bodyParser = require('body-parser');

// The following environment variables are set by app.yaml (app.flexible.yaml or
// app.standard.yaml) when running on Google App Engine,
// but will need to be manually set when running locally.
const {SENDGRID_API_KEY} = process.env;
const {SENDGRID_SENDER} = process.env;
const Sendgrid = require('@sendgrid/client');

Sendgrid.setApiKey(SENDGRID_API_KEY);

const app = express();

// Setup view engine
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');

// Parse form data
app.use(bodyParser.urlencoded({extended: false}));

app.get('/', (req, res) => {
  res.render('index');
});

app.post('/hello', async (req, res, next) => {
  const request = {
    method: 'POST',
    url: '/v3/mail/send',
    body: {
      personalizations: [
        {
          to: [{email: req.body.email}],
          subject: 'Hello World!',
        },
      ],
      from: {email: SENDGRID_SENDER},
      content: [
        {
          type: 'text/plain',
          value: 'Sendgrid on Google App Engine with Node.js.',
        },
      ],
    },
  };

  try {
    await Sendgrid.request(request);
  } catch (err) {
    next(err);
    return;
  }

  // Render the index route on success
  res.render('index', {
    sent: true,
  });
});

Agrega los detalles de la cuenta y, luego, edita la dirección de correo electrónico y otros contenidos del mensaje.

Para obtener más información sobre la configuración de correo electrónico y ver ejemplos, consulta la biblioteca de SendGrid-Node.js.

Obtén información en tiempo real

Además de enviar correos electrónicos, con SendGrid puedes recibir correos electrónicos o darle sentido al correo electrónico que ya enviaste mediante webhooks.

API de Eventos

Una vez que comienzas a enviar correos electrónicos desde tu aplicación, puedes ver las estadísticas recopiladas por SendGrid para evaluar tu programa de correo electrónico. Puedes usar la API de Eventos para ver esta información. Por ejemplo, cada vez que un destinatario abre o hace clic en un correo electrónico, SendGrid puede enviar un JSON descriptivo a tu aplicación de Google App Engine que puede reaccionar a un evento o almacenar información para usar más adelante.

En la documentación de la API de Eventos, puedes ver cómo configurar un webhook, saber sobre los nueve tipos de eventos y ver los campos incluidos en las devoluciones de llamada de eventos.

API de análisis entrante

SendGrid puede recibir correos electrónicos. La API de análisis entrante se puede usar para aplicaciones interactivas, como tickets de asistencia automatizados.

La API de análisis es un webhook que envía datos a tu aplicación cuando hay algo 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.

Los correos electrónicos se envían a la aplicación con una estructura JSON, con los siguientes campos: remitente, destinatario, asunto y cuerpo del texto. Se permiten archivos adjuntos de hasta 20 MB.

Puedes encontrar más detalles en la documentación de API de Análisis, que incluye campos adicionales enviados con cada correo electrónico, además de instrucciones para la configuración y uso de DNS.

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

Enviar comentarios sobre...

Documentación del entorno estándar de App Engine para Node.js