Migrar desde Mailgun
Pásate de Mailgun
a OpenEmail.
Dominios en la URL, opciones o: y variables v:, trasladados campo por campo, con un conversor que reescribe tu código.
El mismo correo,
escrito de las dos formas.
Un mensaje con una dirección de respuesta y una etiqueta, enviado a través de Mailgun y luego a través de OpenEmail.
import FormData from 'form-data'import Mailgun from 'mailgun.js'const mailgun = new Mailgun(FormData)const mg = mailgun.client({ username: 'api', key: process.env.MAILGUN_API_KEY })const result = await mg.messages.create('mg.acme.com', {from: 'Acme <[email protected]>',to: ['[email protected]'],subject: 'Your invoice is ready',html: '<p>Thanks for your order.</p>','h:Reply-To': '[email protected]','o:tag': ['invoice'],})console.log(result.id)
import { init, openemail } from '@openemail/sdk'init({ apiKey: process.env.OPENEMAIL_API_KEY })const email = await openemail.emails.send({from: 'Acme <[email protected]>',to: ['[email protected]'],subject: 'Your invoice is ready',html: '<p>Thanks for your order.</p>',replyTo: '[email protected]',tags: { tag: 'invoice' },})console.log(email.id)
Campo por campo,
qué va dónde.
Cada opción que admite Mailgun y su lugar en OpenEmail.
| Mailgun | OpenEmail | Notas |
|---|---|---|
messages.create(domain, …) | from | Decide el dominio de la dirección from. |
h:Reply-To | replyTo | Una dirección por mensaje. |
h:X-* | headers | Un objeto de nombres y valores. |
o:tag, v:* | tags | Hasta 10 pares clave-valor. |
o:deliverytime | scheduledAt | Una hora ISO en lugar de una fecha RFC 2822. |
o:tracking-opens, o:tracking-clicks | tracking: { opens, clicks } | Booleanos en lugar de yes y no. |
template, t:variables | template: { id, props } | Primero recrea la plantilla en OpenEmail. |
attachment | attachments | Base64 o bytes, 5 MB en total. |
recipient-variables | emails.sendBatch | Una entrada por destinatario, con los valores ya puestos. |
Conversor
Pega tu código de Mailgun,
recíbelo escrito para OpenEmail.
Elige de dónde viene el código y su lenguaje. Las claves reconocidas se eliminan en tu navegador, y no se guarda nada de lo que pegas.
Más allá del código,
cuatro pasos más.
- 01
Añade tu dominio de envío
Añádelo en OpenEmail y publica los registros DNS que te indica. El envío empieza en cuanto responde el registro de firma.
- 02
Crea una clave de API
Las claves empiezan por oe_live_ y solo llevan los permisos que les das.
- 03
Traslada tus webhooks
Crea un endpoint para los eventos que aparecen abajo y comprueba la cabecera X-OpenEmail-Signature en cada petición.
- 04
Trae contactos y supresiones
Importa tus contactos como CSV en la página de una audiencia y añade a la lista de supresión las direcciones que Mailgun tenía bloqueadas.
Los eventos de webhook,
renombrados.
Cada evento de Mailgun y el evento de OpenEmail que lo sustituye. Cada petición lleva un solo evento, firmado.
| Mailgun | OpenEmail |
|---|---|
accepted | email.sent |
delivered | email.delivered |
failed (temporary) | email.delivery_delayed |
failed (permanent) | email.bounced |
complained | email.complained |
opened | email.opened |
clicked | email.clicked |
unsubscribed | suppression.added |
Migrar desde Mailgun,
dudas resueltas.
¿Te mudas
desde otro sitio?
Cada guía tiene el mismo conversor, el mismo mapa de campos y la misma lista de tareas.
¿Convertido?
Crea la clave que lee.
Un espacio de trabajo se crea en un minuto. Añade tu dominio, crea una clave de API y configura OPENEMAIL_API_KEY.