Mailjet: Guía técnica completa para el email transaccional en 2026
Por CaptainDNS
Publicado el 20 de enero de 2026

- Mailjet (Sinch) procesa 300+ mil millones de emails/año con una API v3.1 moderna limitada a 50 mensajes por llamada.
- DKIM obligatorio: selector
mailjet, claves de 2048 bits por defecto desde abril 2024, 4096 bits disponible. - El alineamiento SPF falla por defecto (Return-Path en dominio Mailjet): cuenta solo con DKIM para DMARC.
- IP dedicada incluida a partir del plan Premium 100k (95$/mes) con warm-up de 2-6 semanas obligatorio.
- Plan Free: 6.000 emails/mes pero limitado a 200/día, ideal para dev/staging.
Introducción
Mailjet se ha establecido como un actor principal del email transaccional en Europa, fundado en 2010 en Nantes antes de ser adquirido por Sinch en diciembre de 2021 por 1,9 mil millones de dólares. Hoy en día, la plataforma procesa más de 300 mil millones de emails por año y sirve a más de 100.000 clientes de pago en más de 150 países.
Pero detrás de la interfaz de marketing y el editor drag-and-drop se esconden sutilezas técnicas críticas: diferencias entre API v3 y v3.1, configuración DKIM con elección de tamaño de clave, alineamiento DMARC fallando por defecto en SPF, límites estrictos del plan Free (solo 200 emails/día), y restricciones de IP dedicada con warm-up obligatorio.
Esta guía está dirigida a desarrolladores, DevOps y administradores de sistemas que integran Mailjet para el email transaccional. Detallamos los puntos bloqueantes, las configuraciones críticas, y las decisiones técnicas según tu stack y tus volúmenes.
Mailjet en el ecosistema Sinch
Histórico y adquisiciones
Mailjet fue fundado en 2010 en Nantes por Wilfried Durand y Julien Tartarin a través de eFounders (hoy Hexa). La trayectoria de adquisiciones:
| Fecha | Evento |
|---|---|
| Febrero 2011 | Lanzamiento público |
| Octubre 2019 | Adquisición por Mailgun (Thoma Bravo) |
| Diciembre 2021 | Adquisición por Sinch por 1,9 Md$ |
| 2025 | 300+ mil millones de emails/año |
Posicionamiento vs Mailgun
Dentro del ecosistema Sinch, la diferenciación es clara:
| Plataforma | Objetivo | Punto fuerte |
|---|---|---|
| Sinch Mailjet | Marketeros, PYMES | Interfaz intuitiva, editor colaborativo |
| Sinch Mailgun | Desarrolladores | API-first, 20+ APIs, SDKs avanzados |
| Sinch Email on Acid | QA email | Test y previsualización cross-client |
Cifra clave: durante el Black Friday 2025, Mailjet y Mailgun entregaron 20,4 mil millones de emails en noviembre (+32% interanual).
API REST: v3 vs v3.1
Mailjet ofrece dos versiones de su Send API. La v3.1 es recomendada para nuevos proyectos.

Diferencias clave
| Característica | v3 | v3.1 (recomendada) |
|---|---|---|
| Endpoint | POST /v3/send | POST /v3.1/send |
| Estructura payload | Recipients array | Messages array obligatorio |
| Nombrado propiedades | Guiones (Html-part) | CamelCase (HTMLPart) |
| Mensajes por llamada | 100 | 50 |
| Variables | Vars | Variables |
| Templates | Mj-TemplateID | TemplateID |
| Respuesta | Estado simple | Detallada con MessageUUID, MessageHref |
Estructura de petición v3.1
{
"Messages": [{
"From": {"Email": "sender@captaindns.com", "Name": "Remitente"},
"To": [{"Email": "dest@captaindns.com", "Name": "Destinatario"}],
"Subject": "Confirmación pedido {{var:order_id}}",
"HTMLPart": "<h1>Gracias {{var:firstname}}</h1>",
"Variables": {"firstname": "Juan", "order_id": "12345"},
"TemplateID": 12345,
"TemplateLanguage": true
}]
}
Autenticación API
La autenticación utiliza Basic Auth con:
- Username: API Key (pública)
- Password: Secret Key (privada)
curl -X POST https://api.mailjet.com/v3.1/send \
-u "$API_KEY:$SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"Messages": [...]}'
Recomendación: renovar la Secret Key cada 90 días.
SDKs oficiales
| Lenguaje | Paquete | Instalación |
|---|---|---|
| PHP | mailjet-apiv3-php | composer require mailjet/mailjet-apiv3-php |
| Node.js | node-mailjet | npm install node-mailjet |
| Python | mailjet-rest | pip install mailjet-rest |
| Go | mailjet-apiv3-go | go get github.com/mailjet/mailjet-apiv3-go/v4 |
| Java | mailjet-client | Maven com.mailjet:mailjet-client:6.0.0 |
| Ruby | mailjet-gem | gem install mailjet |
| C#/.NET | Mailjet.Api | NuGet Mailjet.Api |
Limitación importante: Mailjet no soporta el parámetro send_at para emails transaccionales. La programación de envíos solo está disponible para campañas de marketing via /campaigndraft.
SMTP Relay
El SMTP relay sigue siendo relevante para infraestructuras existentes y CMS legacy.
Configuración
Servidor SMTP: in-v3.mailjet.com
Puertos: 25 (STARTTLS), 465 (SSL/TLS), 587 (recomendado), 2525 (alternativo)
Username: [API Key]
Password: [Secret Key]
Cifrado: TLS soportado en todos los puertos
Headers X-Mailjet-* para funcionalidades avanzadas
| Header | Uso |
|---|---|
X-MJ-CustomID | Identificador personalizado para tracking |
X-MJ-EventPayload | Payload devuelto en webhooks |
X-MJ-Campaign | Agrupación de mensajes |
X-MJ-TemplateID | ID del template Mailjet |
X-MJ-TemplateLanguage | Activa el motor de templates (true) |
X-MJ-Vars | Variables JSON para personalización |
X-MJ-TrackOpen / X-MJ-TrackClick | Override tracking (0/1) |
SMTP vs API: cuándo elegir qué?
Privilegia SMTP si:
- Infraestructura existente (Postfix, Sendmail)
- CMS sin SDK (WordPress legacy, Drupal)
- Sistemas sin capacidad HTTP nativa
Privilegia API si:
- Nuevos desarrollos
- Necesidad de respuestas inmediatas (MessageUUID)
- Personalización avanzada (templates, variables)
- Gestión detallada de errores
Configuración DKIM: el punto crítico
Por qué DKIM es obligatorio
Desde los requisitos de Gmail/Yahoo de febrero 2024, la autenticación DKIM es indispensable. Sin DKIM configurado, tus emails corren riesgo de ir a spam o ser rechazados.

Proceso de configuración
- Account Settings → Domains & Sender addresses → SPF/DKIM Authentication
- Agregar el dominio si no esta listado
- Hacer clic en Setup SPF/DKIM Authentication
- Copiar los valores DKIM proporcionados
- Crear el registro TXT en tu DNS
- Hacer clic en Refresh para verificar
Parámetros DKIM Mailjet
| Parámetro | Valor |
|---|---|
| Selector | mailjet |
| Hostname DNS | mailjet._domainkey.captaindns.com |
| Tipo | TXT (no CNAME) |
Tamaños de claves disponibles
| Tamaño | Estado | Recomendación |
|---|---|---|
| 1024 bits | Legacy | Compatibilidad máxima |
| 2048 bits | Por defecto desde abril 2024 | Recomendado |
| 4096 bits | Disponible (cuentas nuevas) | Seguridad máxima |
Ejemplo de registro DKIM:
Type: TXT
Host: mailjet._domainkey
Value: k=rsa; p=MIGfMA0GCSqGSIb3DQEBA...[clave pública]...QIDAQAB
TTL: 300
Rotación de claves: disponible via Account → Domains → Regenerate Key. Requiere actualización DNS después de la regeneración.
Alineamiento SPF, DKIM y DMARC
El problema del alineamiento SPF
Por defecto, Mailjet usa su propio dominio para el Return-Path (bnc3.mailjet.com). Consecuencia: el alineamiento SPF falla sistematicamente para DMARC.

Cómo funciona DMARC con Mailjet
| Método | Dominio autenticado | Dominio From | Alineamiento? | Resultado DMARC |
|---|---|---|---|---|
| SPF | mailjet.com (Return-Path) | captaindns.com | No | No contribuye |
| DKIM | captaindns.com (firma d=) | captaindns.com | Sí | DMARC pasa |
Estrategia: confiar en DKIM solo para la conformidad DMARC. Un solo mecanismo alineado es suficiente.
Activar el alineamiento SPF (opcional, cuentas de pago)
Si deseas el alineamiento SPF (doble validación DMARC):
- Crear un CNAME:
bnc3.captaindns.com CNAME bnc3.mailjet.com - Enviar un ticket de soporte a Mailjet con captura de pantalla del DNS y API key
- Mailjet activa el Return-Path personalizado (limitado a uno por API key)
Nota: esta configuración está reservada a cuentas de pago y requiere intervención del soporte.
Configuración DMARC recomendada
# Fase 1 - Monitoreo
_dmarc TXT "v=DMARC1; p=none; rua=mailto:dmarc@captaindns.com"
# Fase 2 - Cuarentena
_dmarc TXT "v=DMARC1; p=quarantine; pct=100; rua=mailto:dmarc@captaindns.com"
# Fase 3 - Rechazo
_dmarc TXT "v=DMARC1; p=reject; pct=100; rua=mailto:dmarc@captaindns.com"
IP dedicada vs compartida
Umbrales para IP dedicada
| Criterio | Umbral |
|---|---|
| Mínimo absoluto | 100.000 emails/mes |
| Recomendación ISP | 150.000 emails/mes + 5.000/día |
| Incluida gratis | Planes Premium 100k+ y Custom |
Proceso de warm-up
Una IP dedicada nueva requiere un warm-up obligatorio:
| Parámetro | Valor |
|---|---|
| Tipo | Manual, guiado por el equipo de deliverability de Mailjet |
| Inicio | ~300 emails día 1 |
| Progresión | +20% por día |
| Duración | 2-6 semanas según volumen y engagement |
| Contacto | Soporte/ventas obligatorio (sin autoservicio) |
Cuándo quedarse con IP compartida?
Quedarse con IP compartida si:
- Volumen inferior a 100.000 emails/mes
- Envíos irregulares o esporádicos
- Transaccional puro a bajo volumen
- Sin recursos para gestionar el warm-up
Pasar a IP dedicada si:
- Volumen regular superior a 150.000 emails/mes
- Necesidad de separar tráfico marketing y transaccional
- Requisitos de whitelisting o cumplimiento normativo
- Recursos para monitorear la reputación
Precios 2025
Planes disponibles
| Plan | Precio/mes | Emails/mes | Emails/día | IP dedicada |
|---|---|---|---|---|
| Free | 0$ | 6.000 | 200 | No |
| Essential 15k | 17$ | 15.000 | Ilimitado | No |
| Premium 15k | 27$ | 15.000 | Ilimitado | No |
| Premium 100k | 95$ | 100.000 | Ilimitado | Incluida |
| Premium 500k | 470$ | 500.000 | Ilimitado | Incluida |
| Custom | Cotización | Personalizado | Ilimitado | Incluida |
Descuento anual: 10% en todos los planes.
Funcionalidades por plan
| Funcionalidad | Free | Essential | Premium |
|---|---|---|---|
| APIs, SMTP, Webhooks | Sí | Sí | Sí |
| Logo Mailjet | Presente | Eliminado | Eliminado |
| Segmentación | No | Sí | Sí |
| Automatización | No | No | Sí |
| A/B Testing | No | No | Sí (10 versiones) |
| Multi-usuarios | No | No | Sí |
| IP dedicada | No | No | Sí (100k+) |
| SSO | No | No | Sí (100k+) |
Costos adicionales
- Overage: 2,24$/1000 (niveles bajos), 1,04$/1000 (niveles altos)
- Email validations: 500/mes (Essential), 2.000/mes (Premium 100k+)
- Descuento nonprofit: 20% en planes mensuales
- Sin acumulación de créditos: emails no usados expiran al final del ciclo
Límites técnicos
Rate limits
| Elemento | Límite |
|---|---|
| Cuentas Test Mode | 10 emails/hora |
| Plan Free | 200 emails/día |
| API SMS | 6 peticiones/segundo |
| IP dedicada | ~100.000 emails/hora |
| Mensajes v3 por llamada | 100 |
| Mensajes v3.1 por llamada | 50 |
Throttling: código HTTP 429 Too Many Requests con error MJ-002: Exceeded API Rate Limit.
Cuotas de plataforma
| Elemento | Límite |
|---|---|
| Tamaño email máximo | 15 MB |
| Recipients por llamada (v3) | 50 |
| Objetos mensaje por payload (v3.1) | 100 |
| Tamaño HTML (antes del clipping Gmail) | 102 KB |
| Upload imagen | 2 MB (recomendado < 200 KB) |
| Contactos plan Free | 1.000 |
Gestión de bounces
| Tipo | Comportamiento Mailjet |
|---|---|
| Hard bounce | Bloqueo automático 90 días |
| Soft bounce | Reintento durante 24h luego marcado soft-bounced |
| Spam complaint | Bloqueo sistemático via FBL |
| Unsubscribe | Eliminación automática de las listas |
Webhooks y Event API
Eventos disponibles
| Evento | Descripción |
|---|---|
sent | Email aceptado por servidor SMTP destino |
delivered | Entrega confirmada |
open | Apertura detectada |
click | Clic en enlace |
bounce | Rebote (hard o soft) |
blocked | Pre-bloqueado por Mailjet |
spam | Marcado como spam |
unsub | Desuscripción |
Configuración webhook
POST /v3/REST/eventcallbackurl
{
"EventType": "open",
"Url": "https://captaindns.com/webhook",
"Version": 2
}
Lógica de reintento: intentos cada 30 segundos durante 24h si no hay respuesta 200. URL suspendida tras fallos repetidos.
Seguridad: HTTPS con Basic Auth recomendado (https://user:pass@captaindns.com/webhook).
Template Language
Mailjet utiliza una sintaxis tipo Jinja2/Twig:
Variables
Mailjet ofrece cuatro tipos de variables:
- Variable API: sintaxis
var:namepara datos pasados via API - Valor por defecto: sintaxis
var:name:"default"si la variable está ausente - Dato contacto: sintaxis
data:propertypara propiedades persistentes del contacto - Variable predefinida: sintaxis
mj:contact.emailpara datos del sistema
Condicionales y bucles
Condicional:
{% if var:totalorders > "5" %}
Código promo VIP: -10%
{% else %}
Bienvenido nuevo cliente!
{% endif %}
Bucle:
{% for item in var:products %}
Producto: item.name - item.price EUR
{% endfor %}
Cumplimiento y certificaciones
| Certificación | Estado |
|---|---|
| ISO 27001 | Sí (primer ESP puro certificado, 2017) |
| ISO 27701 | Sí (extensión privacy) |
| SOC 2 Type II | Sí (~400 controles) |
| PCI DSS | Sí |
| HIPAA | Bajo demanda |
| RGPD | Primera empresa certificada AFAQ RGPD (2018) |
Datos: almacenamiento exclusivo en la UE (Google Cloud Platform).
Seguridad de cuenta:
- Autenticación de dos factores (2FA) via apps TOTP (Google Authenticator, Authy)
- SSO y SAML en planes Premium 100k+ (Okta, Azure AD, Auth0)
- Login Challenge para IPs desconocidas (desde marzo 2024)
Plan de acción: puesta en marcha en 7 pasos
1. Crear la cuenta y generar las credenciales
- Crear una cuenta Mailjet (Free posible)
- Generar API Key + Secret Key en Account Settings → API Key Management
- Anotar las dos: API Key (pública) y Secret Key (privada, a proteger)
2. Agregar y validar el sender
- Crear un sender en Account Settings → Senders & Domains
- Validar la dirección via el enlace recibido por email
3. Configurar DKIM (obligatorio)
- Ir a Domains & Sender addresses → SPF/DKIM Authentication
- Copiar los valores DKIM generados por Mailjet
- Crear el registro TXT en tu registrar:
- Nombre:
mailjet._domainkey - Valor: la clave pública proporcionada
- Nombre:
- Esperar la propagación (24-48h max)
- Hacer clic en Refresh para verificar
4. Configurar SPF (opcional)
Si deseas el include SPF:
v=spf1 include:spf.mailjet.com ~all
Nota: el include SPF solo no es suficiente para el alineamiento DMARC (ver sección alineamiento).
5. Elegir el método de envío
Opción A: API REST v3.1
- Implementar el endpoint
POST /v3.1/send - Usar los SDKs si están disponibles en tu stack
- Crear templates en Templates si es necesario
Opción B: SMTP relay
- Configurar tu app con:
- Host:
in-v3.mailjet.com - Puerto:
587(STARTTLS) - User: API Key
- Password: Secret Key
- Host:
6. Configurar los webhooks
- Account Settings → Event tracking (Webhooks)
- Crear endpoints para:
delivered,bounced,opened,clicked,spam - Asegurar con HTTPS + Basic Auth
7. Probar y monitorear
- Enviar un email de prueba
- Verificar en Stats que el envío está OK
- Verificar los headers del email recibido (DKIM pass, dominio From correcto)
- Monitorear el dashboard para las metricas
Guias tecnicas: otras plataformas de email transaccional
Descubre nuestras guias completas para otras soluciones de email transaccional:
- Postmark: configuracion DKIM y API REST - Especialista en entregabilidad, DKIM 1024 bits, Message Streams
- SendGrid: autenticacion de dominio y Web API v3 - DKIM 2048 bits con rotacion, IP dedicada desde 50k/mes
- Mailgun: DKIM con rotacion automatica - Return-Path nativo, rotacion DKIM 120 dias
- Amazon SES: Easy DKIM y Custom MAIL FROM - $0.10/1000 emails, 7 regiones EU
- Mandrill: integracion Mailchimp transaccional - Requisito Mailchimp Standard, bloques de 25k emails
- Brevo: configuracion DKIM y SPF - 300 emails/dia gratis, DKIM TXT o CNAME
FAQ
Cuál es la diferencia entre API v3 y v3.1?
La v3.1 usa nombres de propiedades en CamelCase (HTMLPart) vs guiones (Html-part), limita los mensajes a 50 por llamada (vs 100), y devuelve respuestas más detalladas con MessageUUID y MessageHref. La v3.1 es recomendada para nuevos proyectos.
Por qué el alineamiento SPF falla con Mailjet?
Mailjet usa su propio dominio para el Return-Path (bnc3.mailjet.com). DMARC verifica el alineamiento entre el dominio autenticado por SPF y el dominio From. Como estos dominios difieren, SPF no contribuye a DMARC. Solución: confiar en DKIM solo, que pasa en alineamiento.
Debo agregar include:spf.mailjet.com en mi SPF?
No es obligatorio y no cambia nada respecto al alineamiento DMARC. El include SPF puede ser útil para la validación SPF básica, pero DKIM solo es suficiente para pasar DMARC con Mailjet. El alineamiento SPF solo es posible con un Return-Path personalizado (cuentas de pago, soporte requerido).
El plan Free es suficiente para una app en producción?
Sí, si tu volumen es inferior o igual a 200 emails/día (atención: el plan Free ofrece 6.000/mes pero limitado a 200/día). Todas las funcionalidades transaccionales (API, SMTP, webhooks) están disponibles. Ideal para MVP, staging, o apps con muy bajo volumen.
Qué tamaño de clave DKIM elegir?
2048 bits es el valor por defecto desde abril 2024 y conviene para la mayoría de los casos. 4096 bits está disponible para cuentas nuevas si deseas seguridad máxima. 1024 bits es legacy y desaconsejado salvo restricción de compatibilidad específica.
Cuándo necesito una IP dedicada?
Si envías más de 100.000 emails/mes de forma regular, si necesitas aislar la reputación de tu tráfico transaccional, o si tienes requisitos de whitelisting. La IP dedicada está incluida en los planes Premium 100k+ y requiere un warm-up de 2-6 semanas.
Cómo funciona el warm-up de una IP dedicada?
El warm-up es un proceso manual guiado por el equipo de Mailjet. Comienza con aproximadamente 300 emails/día y aumenta un 20% por día durante 2 a 6 semanas. Hay que enviar diariamente para establecer la reputación. Contacto soporte/ventas obligatorio para la activación.
Puedo programar el envío de emails transaccionales a una hora específica?
No, Mailjet no soporta el parámetro send_at para emails transaccionales via Send API. La programación solo está disponible para campañas de marketing via el endpoint /campaigndraft. Para el transaccional, debes gestionar la programación del lado de la aplicación.
Glosario
-
SPF (Sender Policy Framework): Protocolo de autenticación que lista los servidores autorizados a enviar emails para un dominio. SPF autentica el dominio del Return-Path. Con Mailjet, el include es
spf.mailjet.com. -
DKIM (DomainKeys Identified Mail): Protocolo de autenticación que firma criptográficamente los emails. Mailjet usa el selector
mailjety ofrece claves de 1024 a 4096 bits. -
DMARC (Domain-based Message Authentication, Reporting & Conformance): Protocolo que verifica el alineamiento entre SPF/DKIM y el header From. Con Mailjet, solo DKIM pasa en alineamiento por defecto.
-
Return-Path (Envelope From): Dirección técnica usada para enrutar el email y gestionar los bounces. En Mailjet, es
bnc3.mailjet.compor defecto, lo que impide el alineamiento SPF. -
Alineamiento DMARC: Verificación de que el dominio autenticado (SPF o DKIM) corresponde al dominio From. El modo relaxed (por defecto) acepta subdominios.
-
API Key: Identificador público de Mailjet usado como username para la autenticación API y SMTP.
-
Secret Key: Clave privada de Mailjet usada como password. A renovar cada 90 días.
-
Send API: Endpoint de envío de emails de Mailjet. Versión v3.1 recomendada (
POST /v3.1/send). -
Rate limit: Límite de tasa. Código HTTP 429 en caso de exceso. Mensaje v3.1 limitado a 50 por llamada.
-
Warm-up: Proceso de aumento progresivo de carga de una IP dedicada. 2-6 semanas en Mailjet.
-
Webhook: URL HTTP llamada por Mailjet durante eventos (delivered, bounced, etc.). Reintento durante 24h si falla.


