Cómo Migrar de SendGrid a Mailer To Go
Mover tu correo transaccional de SendGrid a Mailer To Go es principalmente un intercambio de DNS y credenciales — la parte difícil no es el código, es el cambio sin perder tu reputación de envío o volver a enviar correos a personas que ya han rebotado o se han desuscrito. Esta guía recorre toda la migración en orden, con los cambios de configuración exactos y un despliegue seguro y reversible.
Si aún estás decidiendo, la comparación de alternativa a SendGrid cubre el por qué. Esta guía es el cómo.
Antes de comenzar: inventaría lo que SendGrid está haciendo por ti
Las migraciones salen mal cuando algo invisible se deja atrás. Anota:
- Dominios de envío y direcciones De: desde las que envías hoy.
- Tus datos de supresión — rebotes, bloqueos, reportes de spam y bajas. Esta es la única cosa que debes transferir; volver a enviar a una dirección suprimida destruye tu reputación el primer día.
- Cómo envías — SMTP, la API Web (
@sendgrid/mail,sendgrid-ruby,sendgridpara Python), o ambos. - Plantillas almacenadas en SendGrid (plantillas dinámicas) versus renderizadas en tu aplicación.
- Webhooks de eventos (entregado/abierto/clic/rebote) y cualquier cosa posterior que los consume.
- Volumen aproximado diario/pico, para que puedas planificar el calentamiento.
Paso 1 — Crear tu dominio de envío de Mailer To Go
Regístrate en mailertogo.com y añade un subdominio de envío en lugar de tu dominio raíz — recomendamos mtg.yourdomain.com. Aísla tu reputación y, si lo delegas, nos permite gestionar DNS por ti. Ver Por qué Mailer To Go envía desde mtg.yourdomain.com para el razonamiento y configuración.
Paso 2 — Autenticación (SPF, DKIM, DMARC)
Publica los registros SPF, DKIM y DMARC que se muestran en tu panel para el dominio de envío. Si ya ejecutas DMARC para SendGrid, estás adelantado — solo añades Mailer To Go como fuente autorizada durante la superposición y aprietas una vez que SendGrid se haya ido. Explicación completa con registros reales y verificación con dig: Autenticación de correo, de principio a fin.
Paso 3 — Intercambia tus credenciales
SMTP. La configuración característica de SendGrid es el nombre de usuario literal apikey. Apunta el mismo mailer a Mailer To Go en su lugar:
# Antes — SendGrid
host: smtp.sendgrid.net port: 587
username: apikey
password: SG.xxxxxxxx (tu clave API de SendGrid)
# Después — Mailer To Go
host: smtp.<region>.mailertogo.net port: 587
username: <MAILERTOGO_SMTP_USER>
password: <MAILERTOGO_SMTP_PASSWORD>
En Rails, son solo valores de entorno nuevos — sin cambio de código:
# config/environments/production.rb
config.action_mailer.smtp_settings = {
address: ENV["MAILERTOGO_SMTP_HOST"], # smtp.<region>.mailertogo.net
port: 587,
user_name: ENV["MAILERTOGO_SMTP_USER"],
password: ENV["MAILERTOGO_SMTP_PASSWORD"],
authentication: :plain,
enable_starttls_auto: true
}
API. Si usas el SDK de SendGrid, cambia el transporte a SMTP (la ruta de menos código) o a la API de Mailer To Go. En Node, moviendo @sendgrid/mail a SMTP vía Nodemailer:
// Antes — @sendgrid/mail
// sgMail.setApiKey(process.env.SENDGRID_API_KEY);
// await sgMail.send({ to, from, subject, html });
// Después — Nodemailer sobre SMTP de Mailer To Go
const nodemailer = require("nodemailer");
const transport = nodemailer.createTransport({
host: process.env.MAILERTOGO_SMTP_HOST,
port: 587,
auth: { user: process.env.MAILERTOGO_SMTP_USER, pass: process.env.MAILERTOGO_SMTP_PASSWORD },
});
await transport.sendMail({ to, from, subject, html });
Paso 4 — Importa tu lista de supresión (no omitas esto)
Exporta tus supresiones de SendGrid antes de hacer el cambio — Suppressions → Global Unsubscribes / Bounces / Spam Reports / Blocks en el panel, o vía la API:
curl -s -H "Authorization: Bearer $SENDGRID_API_KEY" \
https://api.sendgrid.com/v3/suppression/bounces > bounces.json
curl -s -H "Authorization: Bearer $SENDGRID_API_KEY" \
https://api.sendgrid.com/v3/suppression/unsubscribes > unsubscribes.json
Carga esas direcciones en tu lista de supresión de Mailer To Go para que un contacto que haya rebotado o se haya desuscrito nunca sea enviado nuevamente. Este paso único protege la reputación que pasaste años construyendo en SendGrid.
Paso 5 — Calienta y cambia gradualmente
Tu nuevo dominio de envío no tiene reputación aún, así que no cambies el 100% del tráfico de una vez. Ejecuta ambos proveedores en paralelo y desplaza el tráfico en etapas — p. ej. 10% → 25% → 50% → 100% durante una o dos semanas — comenzando con tu correo más comprometido y de menor riesgo (restablecimientos de contraseña, recibos). Observa las tasas de rebotes y quejas en cada paso. Mantén SendGrid en vivo y capaz de recibir tráfico nuevamente hasta que hayas cambiado completamente.
Paso 6 — Verifica, luego desactiva
- Envía correo de prueba y confirma que SPF, DKIM y DMARC todos PASEN (Gmail → Show original).
- Reapunta tus webhooks de eventos en los manejadores de Mailer To Go de tu aplicación y confirma que los eventos de rebote/queja sigan fluyendo.
- Una vez que el 100% del tráfico se ejecute limpiamente a través de Mailer To Go durante unos días, degrada o cancela SendGrid — pero deja tus registros SPF/DKIM para él en su lugar durante una o dos semanas en caso de que necesites revertir, luego elimínalos.
Reversión
Porque el cambio es credenciales + DNS, la reversión es rápida: apunta las variables de entorno de tu mailer nuevamente a SendGrid. Mantener ambos proveedores autenticados durante la superposición es lo que hace que sea un cambio de una línea en lugar de una emergencia.
¿Nuevo en enviar desde un subdominio o en autenticación de correo? Comienza con Por qué Mailer To Go envía desde mtg.yourdomain.com y la guía de configuración de SPF/DKIM/DMARC. ¿Migrando desde otro proveedor? Ver Migrando de Mailgun a Mailer To Go.