Cómo elegir un servicio de email API-first
Elegir un servicio de email orientado a programación es decidir sobre protocolo, separación de flujos, fiabilidad y coste por volumen. Esta guía recorre lo que un equipo de producto e ingeniería suele mirar antes de firmar.
Qué significa API-first en la práctica
Un servicio de email API-first está pensado para que tu aplicación hable con él sin pasar por un panel: una REST API para enviar y consultar, un relay SMTP para los sistemas que ya hablan ese protocolo, SDKs oficiales, webhooks de eventos y plantillas versionadas. El panel sigue existiendo, pero si una tarea del día a día solo se puede hacer a mano, el servicio no es API-first del todo.
La REST API devuelve un identificador de mensaje en JSON, admite cabeceras de idempotencia y deja cada llamada registrada con su estado. El SMTP resuelve lo mismo con un código de resultado textual y un límite de tasa fijado por el servidor, y sirve para aplicaciones heredadas. Los SDKs evitan reimplementar autenticación, adjuntos y manejo de errores; comprueba qué lenguajes de tu stack tienen biblioteca oficial, porque esa cobertura no es igual en todos los servicios.
Los webhooks cierran el ciclo: el proveedor avisa cuando un mensaje se entrega, se rebota o se queja, y un endpoint de producción valida la firma, responde en milisegundos y procesa el cuerpo en una cola. Las plantillas versionadas dejan el HTML con control de versiones en el repositorio, con el mismo archivo en desarrollo y en producción, y los entornos de prueba con claves y dominios distintos permiten integrar la API sin tocar la reputación del dominio de producción.
Transaccional y marketing: separarlos a tiempo
El email transaccional responde a una acción necesaria: confirmación de cuenta, código de acceso, recibo, cambio de suscripción. El de marketing habla con una audiencia que consintió recibir contenido, invitación u oferta. Pueden compartir cuenta, pero no deberían compartir el mismo camino de reputación, porque un pico de campaña que genere quejas no debería retrasar la entrega de una contraseña.
La separación práctica suele ser un subdominio por flujo, como mail.tudominio.com para el producto y envios.tudominio.com para las campañas, y flujos de mensajes independientes con sus propias claves cuando el proveedor lo permite. Define desde el principio quién dispara en cada camino y qué registro alimenta el panel de soporte.
En cuanto al consentimiento, el registro de envío transaccional no sustituye la base legal de una campaña: el producto puede escribir a quien tiene una cuenta abierta, mientras que una newsletter necesita una suscripción documentada, con fecha y origen, y una vía de baja que funcione. Trata los datos de contacto con la misma disciplina que el resto de datos personales y revisa con tu asesor dónde se alojan los datos y qué acuerdo de encargado firmas con el proveedor si tus usuarios están en la Unión Europea.
Fiabilidad: colas, reintentos e idempotencia
La red falla y a veces la respuesta de la API se pierde entre tu servidor y el proveedor; sin protección, el reintento se convierte en un segundo email en la bandeja de entrada. La defensa es una clave de idempotencia estable por mensaje lógico, como el identificador del pedido más el tipo de mensaje: el proveedor reconoce la clave repetida y devuelve el resultado original. En la documentación de cada servicio puedes comprobar qué operaciones admiten la clave y cuánto tiempo se conserva.
Clasifica además el error: una validación incorrecta no debe repetirse, mientras que un error temporal o un tiempo de espera sí. Aplica reintento exponencial con tope de intentos, manda lo que se agota a una cola muerta inspeccionable y respeta los cabeceros de límite de tasa, que indican cuánto queda y cuándo se renueva la cuota.
Antes del proveedor, tu propia cola ya acepta la petición, encola el envío y responde sin esperar: así un incidente del proveedor se convierte en retraso y no en un error en la interfaz. Define también qué ocurre cuando un mensaje se agota en intentos, quién recibe el aviso y en qué plazo.
Entregabilidad: SPF, DKIM y DMARC
Tres registros de DNS deciden si tu email llega a la bandeja principal. SPF publica la lista de servidores autorizados a enviar con tu dominio, y cada proveedor que uses debe figurar en ella: arrastrar registros viejos de un proveedor anterior es un error frecuente. DKIM firma cada mensaje con una clave cuya parte pública vive en el DNS. DMARC alinea el dominio visible en la cabecera From con el dominio firmado y dice al receptor qué hacer cuando ambos no coinciden.
Publica primero el DMARC con política de informe, lee los mensajes de feedback durante algunas semanas, que suelen revelar envios legítimos que todavía no pasan la alineación, y endurece a cuarentena y después a rechazo. Usa un subdominio dedicado a cada flujo y prepara el cambio de proveedor con días de antelación.
A volúmenes altos valorarás el IP dedicado, que varios servicios ofrecen como complemento con condiciones distintas: Postmark lo ofrece desde 50 US$ al mes por IP a partir de 300.000 emails mensuales en planes Pro o superiores, y Amazon SES lo cobra a 24,95 US$ al mes. El monitoreo de DMARC de Postmark empieza en 14 US$ al mes por dominio.
Observabilidad: rebotes, quejas y registros
Cuando un cliente dice que no recibió el email de facturación, la primera pregunta es qué registró el proveedor ese día. Sigue cuatro frentes: los rebotes duros, que pasan a la lista de supresión; los rebotes blandos, que piden un reintento espaciado; las quejas de spam, que obligan a revisar la segmentación y el permiso; y el registro de cada envío con su estado.
Los planes difieren en cuánto historial conservan: Mailgun guarda 1 día de registros en Free y Basic, 5 días en Foundation y 30 días en Scale; Postmark retiene 45 días de datos en Basic y permite ampliarlo con retención de actividad personalizable desde 5 US$ al mes. Si necesitas consultar entregas y quejas durante meses, copia los eventos a tu propio almacén de datos, porque así los paneles de soporte dejan de depender de esa ventana.
Añade alertas para un rebote duro repentino o un pico de fallos de autenticación. Las métricas de aperturas y clics sirven para observar el interés, pero conviene leerlas junto a quejas y rebotes.
Quién decide qué: producto e ingeniería
Producto se queda con qué se envía, cuándo, a quién, con qué textos y plantillas de contenido, además del consentimiento, las bajas y el calendario de campañas. Ingeniería se queda con las claves por entorno, la cola de envío, la idempotencia, los manejadores de webhook, las plantillas del repositorio, los registros de DNS, el presupuesto de volumen y las alertas.
El acuerdo compartido es tan importante como la lista anterior: quién aprueba un cambio de plantilla, qué ocurre si el volumen se dispara un martes, quién mira las quejas cada semana y con qué plazo se responde un incidente de entrega. Mantén claves distintas para desarrollo, pruebas y producción, da permisos mínimos a cada servicio y no guardes la clave que envía códigos de acceso en un documento compartido. Con esas líneas trazadas, cambiar de proveedor deja de ser un proyecto que dependa de una sola persona.
Los servicios en una tabla
La tabla resume los planes y volúmenes de cada servicio, con la base de cobranza escrita por extenso.
| Servicio | Planes y precios | Base de cobranza | Encaja con |
|---|---|---|---|
| Resend | Free 3.000 emails al mes; Pro 20 US$ al mes por 50.000; Pro 35 US$ por 100.000; Scale 160 US$ por 200.000 | Emails enviados al mes | Envío transaccional por API |
| Postmark | Free 100 emails al mes; 10.000 al mes: Basic 15 US$, Pro 16,50 US$, Platform 18 US$; 50.000: 55, 60,50 y 66 US$; 125.000: 115, 126,50 y 138 US$ | Emails enviados al mes | Transaccional organizado en flujos de mensaje |
| Mailgun | Free 100 emails al día; Basic 15 US$ al mes por 10.000 emails; Foundation 35 US$ al mes tras el primer mes por 50.000; Scale 90 US$ al mes tras el primer mes por 100.000 | Emails enviados al mes | API REST y relay SMTP con enrutamiento de entrada |
| SendGrid | Essentials desde 19,95 US$ al mes en el tramo de 50.000 a 100.000; 34,95 US$ con 100.000; Pro desde 89,95 US$ en el tramo de 100.000 a 2.500.000 | Emails enviados al mes | Transaccional y campañas con planes separados |
| Amazon SES | Cobro por uso: 0,10 US$ por 1.000 emails; Essentials 0,16 US$ por 1.000; Pro 0,22 US$ por 1.000 más 105 US$ por cuenta y región al mes | Uso, por 1.000 emails | Envío dentro de la infraestructura de AWS |
| Sequenzy | Gratis hasta 2.500 emails al mes; 19 US$ al mes por 15.000 emails | Emails enviados al mes, contactos ilimitados | Ciclo de vida y facturación de SaaS |
Resend
Resend publica un Free de 3.000 emails al mes con 100 emails al día y hasta 3 dominios, suficiente para integrar la API en un entorno de pruebas real. El Pro cuesta 20 US$ al mes por 50.000 emails y 35 US$ al mes cuando el volumen llega a 100.000; el Scale cuesta 160 US$ al mes por 200.000. En Pro, los emails por encima del volumen incluido se cobran a 0,90 US$ por 1.000, y los planes de pago incluyen webhooks de eventos.
Postmark
Postmark ofrece un Free de 100 emails al mes sin excedentes, pensado para probar la integración. Los planes de pago parten de 10.000 emails al mes: Basic a 15 US$, Pro a 16,50 US$ y Platform a 18 US$, con excedentes de 1,80 US$, 1,30 US$ y 1,20 US$ por 1.000 respectivamente. Con 50.000 emails al mes los precios son 55 US$, 60,50 US$ y 66 US$; con 125.000, 115 US$, 126,50 US$ y 138 US$. El servicio se centra en el envío transaccional, organiza los envíos en flujos de mensaje y Basic conserva los datos 45 días.
Mailgun
Mailgun combina API REST y relay SMTP con enrutamiento de entrada, validación de direcciones, IPs dedicados y regiones de alojamiento en Estados Unidos y en la Unión Europea. El Free entrega 100 emails al día con 1 día de registros. El Basic cuesta 15 US$ al mes por 10.000 emails, con excedentes desde 1,80 US$ por 1.000; el Foundation, 35 US$ al mes después del primer mes por 50.000 emails, con 5 días de registros y excedentes desde 1,30 US$; y el Scale, 90 US$ al mes después del primer mes por 100.000 emails, con 30 días de registros y 5.000 validaciones incluidas.
SendGrid
SendGrid atiende el envío transaccional y las campañas de marketing en la misma plataforma, con planes separados para cada uso, y ofrece una prueba de 100 emails al día durante 60 días. El Essentials empieza en 19,95 US$ al mes en el tramo de 50.000 a 100.000 emails y llega a 34,95 US$ con 100.000. El Pro parte de 89,95 US$ al mes en el tramo de 100.000 a 2.500.000 emails con IP dedicado incluido. Para las campañas existe un plan gratuito con hasta 2.000 contactos y 6.000 emails al mes.
Amazon SES
Amazon SES trata el email como un servicio de uso dentro de AWS: el cobro suelto es de 0,10 US$ por 1.000 emails y el plan Essentials cobra 0,16 US$ por 1.000 en el tramo de 0 a 10 millones de emails al mes, donde empiezan las cuentas nuevas salvo que elijan otro plan. El Pro cobra 0,22 US$ por 1.000 más 105 US$ por cuenta y región al mes. Ofrece API y SMTP, seguimiento de entregabilidad, procesamiento de entrada con Mail Manager y complementos de IP dedicada; los eventos se publican en temas de SNS y la integración habitual usa el SDK de AWS. El coste por email es el más bajo de esta guía a cambio de asumir más trabajo de operación.
Coste a 10.000, 50.000 y 100.000 emails al mes
A 10.000 emails al mes ya entran los planes de entrada: Postmark cobra 15 US$ por el Basic, 16,50 US$ por el Pro y 18 US$ por el Platform, y en un año 12 × 15 US$ dan 180 US$ en el Basic; Mailgun ofrece el Basic a 15 US$. En el cobro por uso de Amazon SES, 10 × 0,16 US$ dan 1,60 US$ al mes en Essentials, o 1,00 US$ en el cobro suelto. El Essentials de SendGrid empieza en 50.000 emails y el Free de Resend cubre 3.000, ambos fuera de este volumen.
A 50.000 emails al mes, Resend cobra 20 US$ por el Pro y Mailgun 35 US$ por el Foundation tras el primer mes; el Essentials de SendGrid vale 19,95 US$ dentro de su tramo. En Postmark ese volumen cuesta 55 US$ en Basic, 60,50 US$ en Pro y 66 US$ en Platform. Para Amazon SES, 50 × 0,16 US$ dan 8,00 US$ al mes o 5,00 US$ en el cobro suelto, y conviene sumar el tiempo de ingeniería que cada opción necesita.
A 100.000 emails al mes, el Pro de Resend queda en 35 US$ y el Essentials de SendGrid en 34,95 US$; Mailgun ofrece el Scale a 90 US$ al mes después del primer mes, con 30 días de registros. En Postmark los volúmenes van de 50.000 a 125.000 emails, y el Basic con 125.000 cuesta 115 US$ al mes, de modo que el presupuesto se calcula sobre 125.000. Para Amazon SES, 100 × 0,16 US$ dan 16,00 US$ al mes o 10,00 US$ en el cobro suelto. Añade excedentes, impuestos y posibles complementos de IP dedicada.
Cuándo basta un solo servicio
Un único proveedor para transaccional y marketing es razonable cuando el volumen es parejo, el equipo es pequeño y las campañas salen pocas veces al mes: una sola factura, una sola clave y una sola lista de supresión pesan más que la separación de reputación, y el producto sigue siendo el principal emisor. También es una buena fase inicial.
Entre los servicios que cobran por los emails enviados con contactos ilimitados está Sequenzy, gratis hasta 2.500 emails al mes y 19 US$ al mes por 15.000 emails. La separación se vuelve necesaria cuando la lista crece, cuando las quejas de marketing suben en los informes o cuando el envío transaccional se retrasa en las horas punta de una campaña; entonces, un subdominio propio por flujo suele bastar antes que cambiar de proveedor.
Cómo cambiar de proveedor sin perder historial
Migra por flujo y no por cuenta entera. Enumera cada mensaje que tu aplicación envía, el evento que lo dispara y el volumen mensual. Exporta del proveedor actual las supresiones, los rebotes duros y las quejas, e impórtalas en el servicio nuevo antes del primer envío: esa lista evita que la reputación del dominio caiga al estrenarse el nuevo servicio. Después recrea SPF, DKIM y DMARC apuntando al nuevo proveedor y mantén los antiguos activos durante la transición.
Luego mueve un flujo transaccional pequeño, como la confirmación de registro, y sigue el identificador del mensaje, los enlaces y los eventos de webhook de extremo a extremo. Cuando eso funciona, mueve el resto en lotes y deja los dos proveedores activos algunos días. Al cerrar, revoca las claves antiguas y anota la fecha del cambio.
Preguntas frecuentes
¿Qué diferencia hay entre enviar emails por API y por SMTP?
SMTP abre una conexión, autentica y transmite el cuerpo del mensaje; el resultado llega como texto plano y el límite de tasa lo fija cada servidor. Una API HTTP devuelve un identificador de mensaje en JSON, admite cabeceras de idempotencia y registra el estado de cada llamada en un panel. Los dos caminos suelen convivir: los flujos nuevos usan la API y el SMTP queda para lo heredado.
¿Qué debe aportar un SDK para que el equipo no reimplemente la misma capa?
Un SDK resuelve la autenticación, el montaje de la petición, los adjuntos y la interpretación de errores, de modo que ningún servicio repita ese trabajo. Comprueba en la documentación de cada proveedor qué lenguajes de tu stack tienen biblioteca oficial y cada cuánto se publican versiones. Sin SDK, consumir la REST con tu propio cliente HTTP funciona, pero esa manutención queda a cargo de tu equipo.
¿Qué webhooks conviene suscribir en producción?
Suscribe como mínimo entrega, rebote y queja de spam: sin ellos solo sabes que la llamada fue aceptada, no que el mensaje llegó. Valida la firma del evento, responde con estado 200 en pocos milisegundos y procesa el cuerpo en una cola, porque el proveedor reenvía los eventos cuando el endpoint falla. Un manejador que reconoce un identificador ya tratado evita duplicar efectos.
¿Cómo separas el envío transaccional del de marketing en una misma cuenta?
La mayoría de los proveedores permiten flujos de mensajes o subdominios distintos dentro de la misma cuenta: uno para el producto y otro para las campañas. Así un pico de campaña no retrasa un código de acceso. Revisa cómo aplica el proveedor la lista de supresión: a veces vale para toda la cuenta y a veces se mantiene por flujo.
¿Qué hay que revisar en SPF, DKIM y DMARC antes de escalar?
SPF publica qué servidores pueden enviar con tu dominio; DKIM firma cada mensaje con una clave cuya parte pública vive en el DNS; DMARC alinea el dominio de la cabecera From con el dominio firmado. Publica primero el DMARC en política de informe, lee los informes durante algunas semanas y endurece a cuarentena y después a rechazo. Al cambiar de proveedor, actualiza los registros antes de mover el volumen.
¿Qué es la idempotencia y por qué importa cuando una petición se repite?
La idempotencia hace que repetir la misma petición tras un tiempo de espera no genere un segundo email. Genera una clave estable por mensaje lógico, como el identificador del pedido más el tipo de mensaje, y envíala en todos los intentos: el proveedor reconoce la clave repetida y devuelve el resultado original. Combínala con reintento exponencial y respeta los cabeceros de límite de tasa.
¿Qué debe mirar un equipo después de enviar?
Cuatro frentes: los rebotes duros y blandos, las quejas de spam, los registros de cada envío y el tiempo que el plan conserva ese historial. Los rebotes duros pasan a la lista de supresión y las quejas obligan a revisar la segmentación y el permiso. Si la ventana del proveedor es corta, copia los eventos a tu propio almacenamiento.
¿Cuándo conviene un solo servicio para transaccional y marketing?
Cuando el volumen es parejo, el equipo es pequeño y no hace falta separar la reputación por cumplimiento: un solo proveedor simplifica claves, facturas y supresión. Tiene sentido mientras las campañas sean poco frecuentes y el producto siga siendo el principal emisor. Si la lista crece o el envío transaccional empieza a sufrir en las horas punta, conviene separar subdominios o proveedores.