Cómo migrar de Mailgun a SendGrid

Publicado: 2018-11-10

Si Mailgun es su proveedor de servicios de correo electrónico actual y está buscando hacer un cambio, este tutorial lo ayudará a migrar a SendGrid al resaltar las diferencias entre los dos servicios.

Si desea echar un vistazo antes de comenzar, consulte la documentación de SendGrid que incluye excelentes recursos antes de sumergirse en la referencia y los detalles de la API.

Terminología

Si está buscando el equivalente de SendGrid de cierta funcionalidad de Mailgun, la siguiente tabla lo ayudará:

Término de SendGrid Término de Mailgun
sustituciones/secciones datos de sustitución
categorías etiquetas
argumentos_únicos X-Mailgun-Variables
Múltiples Credenciales Acceso multiusuario
subusuario Mailgun no proporciona subusuarios discretos.
supresiones supresiones
X-SMTPAPI Mailgun usa un encabezado X discreto para cada opción de configuración, como X-Mailgun-Recipient-Variables
Webhook de análisis entrante Rutas
Webhook de evento Webhooks
Campañas de marketing Sin equivalente

Obtener una clave API

Primero, necesitará una cuenta de SendGrid. A continuación, debe crear una clave API que usará para enviar. Vaya a Configuración -> Claves API , o use este enlace. Una práctica recomendada de seguridad y SendGrid es usar una clave de API diferente para cada una de sus diferentes aplicaciones. Las claves API tienen permisos granulares, por lo que puede habilitar o deshabilitar el acceso de lectura o escritura para puntos finales individuales. Asegúrese de que la clave API que cree tenga acceso total a Mail Send . (Nota: su cuenta debe pasar el aprovisionamiento antes de que pueda crear una clave de API).

Bibliotecas de API

Tenemos una serie de bibliotecas de API admitidas oficialmente para facilitar la integración a nuestros clientes. Si está reescribiendo algún código o refactorizando la forma en que se comunica con su ESP como parte de su migración, ahora es un buen momento para evaluar estas bibliotecas:

  • sendgrid-csharp – Biblioteca oficial de C#
  • sendgrid-go – Biblioteca oficial de Go
  • sendgrid-java – Biblioteca oficial de Java
  • sendgrid-nodejs – Biblioteca oficial de NodeJS
  • sendgrid-php – Biblioteca PHP oficial
  • sendgrid-python – Biblioteca oficial de Python
  • sendgrid-ruby – Biblioteca oficial de Ruby

SMTP

Si está enviando a través de SMTP, hay algunas diferencias que debe tener en cuenta. Para autenticarse, proporcione la cadena 'apikey' como nombre de usuario SMTP y use su clave API como contraseña. Luego apunte su nombre de host a smtp.sendgrid.net .

Puede conectarse mediante SMTP a través de TLS o sin cifrar en los puertos 25, 2525 y 587. También puede conectarse mediante SSL en el puerto 465. En general, recomendamos el puerto 587, ya que tiende a generar la menor cantidad de problemas con los proveedores de alojamiento.

El mecanismo para personalizar el correo electrónico enviado a través de SMTP es nuestro encabezado X-SMTPAPI. Este encabezado le permitirá definir sustituciones, enviar solicitudes de estilo de combinación de correo por lotes y controlar los filtros (como el seguimiento de clics) que están activos para su envío.

HTTP

El punto final principal para enviar correo electrónico es el punto final de Correo. Las solicitudes a este punto final se autentican a través de un encabezado de autorización con su clave API presentada como un token de portador. Puede encontrar un ejemplo más detallado en nuestros documentos.

Las personalizaciones le permiten definir destinatarios y metadatos para cada mensaje, como valores de sustitución para personalizar contenido o custom_args para asociar mensajes con ID de usuario o números de pedido. Hay una serie de ejemplos de personalizaciones para casos de uso común. También puede encontrar llamadas de ejemplo cURL.

Las funciones como el seguimiento de clics se configuran a través de los parámetros tracking_settings y mail_settings. También puede programar envíos con hasta 72 horas de anticipación utilizando el parámetro "send_at".

Los archivos adjuntos enviados a través de HTTP se manejan de manera diferente a Mailgun. Mailgun requiere un POST de varias partes/datos de formulario que contenga los archivos que se adjuntarán. Con SendGrid, el contenido se codifica como Base64 y se integra directamente en la carga útil JSON junto con la información MIME, lo que mantiene todo el mensaje en la misma carga útil y simplifica la solicitud HTTP. Puedes leer más sobre la inclusión de archivos adjuntos en la siguiente sección de nuestro Aula de Documentación.

Webhooks

SendGrid proporciona dos webhooks: el webhook de eventos para publicar eventos en tiempo real y el webhook de análisis entrante para recibir correos electrónicos y responderlos mediante programación. Las formas de datos y las cargas útiles son un poco diferentes de lo que proporciona Mailgun. Actualmente, tampoco admitimos el enrutamiento de mensajes entrantes a diferentes URL de devolución de llamada; deberá manejar ese tipo de lógica en el código en lugar de en el nivel de API.

Puntos finales de la API que no son de correo electrónico

Para puntos finales de API que no envían correo electrónico, consulte la descripción general de API v3. Usamos métodos HTTP intuitivos y códigos de respuesta en la mayoría de los casos, y aplicamos límites de frecuencia para las llamadas. API v2 está en desuso, aunque no hay una línea de tiempo para dejar de admitirlo. Todas las nuevas integraciones deberían preferir v3. La autenticación API v3 se logra mediante un encabezado de autenticación con un token de portador.

Campañas de marketing

Tenemos una plataforma con todas las funciones para administrar listas de contactos, crear y diseñar plantillas, realizar pruebas A/B de diferentes plantillas y programar campañas. Todo esto está envuelto en una interfaz de usuario que es fácil de usar para los que no son desarrolladores. Y, por supuesto, también puede acceder a todas estas funciones a través de nuestra API de campañas de marketing.

Algunas preguntas frecuentes

P: ¿Admite plantillas para correos electrónicos transaccionales?

R: Sí, ¡y son dinámicos! Las plantillas transaccionales de SendGrid cuentan con soporte nativo para la sintaxis de Handlebars. Además del reemplazo y las sustituciones básicas, puede usar enumeraciones/iterar sobre listas, aprovechar las condicionales y más. Para obtener más información, haga clic aquí.

P: ¿ Existe una zona de pruebas o una forma de probar mis correos electrónicos sin enviarlos?

R: Puede habilitar el modo sandbox al enviar a través de HTTP. También hay una dirección de "receptor" que puede usar para realizar pruebas.

P: ¿Es posible transferir mi dirección IP/reputación de remitente a SendGrid?

R: No podemos migrar una IP o una reputación, pero podemos ayudarlo a preparar una nueva IP automáticamente.

P: ¿SendGrid admite TLS obligatorio ?

R: Absolutamente. Puede exigir que los servidores de recepción admitan TLS y descartar los mensajes que van a los servidores que no cumplen.

P: ¿Puedo permitir que mis destinatarios definan los tipos de correos electrónicos que desean recibir?

R: Sí. Dar a sus destinatarios más control de su correo electrónico le permite enviar el correo electrónico que la gente quiere, lo que es mejor para todos. Consulte los grupos de cancelación de suscripción para obtener más información.

Si está interesado en migrar a SendGrid, puede encontrar más información en sendgrid.com/pricing.