Amazon SES: guía completa de configuración DNS y autenticación de email
Por CaptainDNS
Publicado el 20 de enero de 2026

- Amazon SES ofrece envío de email a 0.10$/1000 emails con 7 regiones EU para cumplimiento RGPD.
- Easy DKIM genera 3 CNAME que sirven tanto para verificación de dominio como para firma DKIM (rotación automática cada 90 días).
- Custom MAIL FROM es indispensable para el alineamiento SPF DMARC, sin él, SPF autentica con
amazonses.com. - Para
p=reject, combine Easy DKIM + Custom MAIL FROM + alineamiento relaxed (adkim=r,aspf=r).
¿Por qué Amazon SES merece tu atención?
Amazon SES procesa más de un trillón de emails al año desde su lanzamiento en 2011. Con precios de 0.10$ por 1 000 emails (sin niveles de volumen), es la opción más económica para envío transaccional y marketing.
Lo que marca la diferencia:
- API v2 (septiembre 2019): mensajes hasta 40 MB, gestión nativa de unsubscribes, headers custom sin pasar por Raw email
- 7 regiones EU: Frankfurt, Ireland, London, Paris, Stockholm, Milan, Zurich - DPA RGPD incluido automáticamente
- Virtual Deliverability Manager: dashboard de reputación y recomendaciones automatizadas
Esta guía se centra en la configuración DNS y la autenticación. El objetivo: una entregabilidad óptima compatible con p=reject.
Arquitectura de envío SES y flujo de autenticación

Cuando envías a través de SES:
- Tu aplicación llama a la API v2 o usa SMTP
- SES firma el mensaje con tu clave DKIM (dominio
d=captaindns.com) - El servidor destinatario verifica SPF (IP de envío), DKIM (firma), luego DMARC (alineamiento)
Configuración DNS completa
Easy DKIM: el método recomendado
Easy DKIM genera 3 registros CNAME que cumplen dos funciones:
- Verificación de propiedad del dominio (no se necesita TXT
_amazonses) - Firma DKIM con rotación automática cada 90 días
{token1}._domainkey.captaindns.com CNAME {token1}.dkim.amazonses.com
{token2}._domainkey.captaindns.com CNAME {token2}.dkim.amazonses.com
{token3}._domainkey.captaindns.com CNAME {token3}.dkim.amazonses.com
Tamaño de clave: RSA 2048-bit por defecto (recomendado). La rotación gestiona automáticamente los roles active/passive/pending entre los 3 CNAME.
Custom MAIL FROM: el elemento crítico para DMARC
Sin Custom MAIL FROM, el sobre SMTP usa amazonses.com como dominio MAIL FROM. Resultado: SPF autentica con amazonses.com, no tu dominio, el alineamiento SPF DMARC falla.
Registros requeridos (ejemplo para mail.captaindns.com):
| Tipo | Name | Value | Priority |
|---|---|---|---|
| MX | mail.captaindns.com | feedback-smtp.eu-west-1.amazonses.com | 10 |
| TXT | mail.captaindns.com | "v=spf1 include:amazonses.com ~all" | - |
Restricciones:
- El Custom MAIL FROM debe ser un subdominio del dominio verificado
- Un solo registro MX (varios = falla)
- Este subdominio no debe recibir otros emails
SPF en el dominio raíz: opcional pero recomendado
Si usas Easy DKIM + Custom MAIL FROM, SPF en el dominio raíz no es requerido para DMARC (DKIM es suficiente). Sin embargo, AWS recomienda configurarlo:
captaindns.com TXT "v=spf1 include:amazonses.com ~all"
Alineamiento DMARC: configuración para p=reject

Lo que funciona (y lo que falla)
Alineamiento DKIM (método principal):
| Configuración | ¿Alineado? | ¿DMARC vía DKIM? |
|---|---|---|
| Email verificado solo (sin dominio DKIM) | No | No |
| Dominio con Easy DKIM activado | Sí | Sí |
| Dominio con BYODKIM | Sí | Sí |
Alineamiento SPF:
| Configuración | ¿Alineado? | ¿DMARC vía SPF? |
|---|---|---|
MAIL FROM por defecto (amazonses.com) | No | No |
| Custom MAIL FROM + aspf=r (relaxed) | Sí | Sí |
| Custom MAIL FROM + aspf=s (strict) | No | No (mismatch subdomain) |
Registro DMARC recomendado
_dmarc.captaindns.com TXT "v=DMARC1;p=reject;adkim=r;aspf=r;rua=mailto:dmarc@captaindns.com"
Puntos clave:
adkim=ryaspf=r: alineamiento relaxed (autoriza subdominios)- Progresa de
p=none→p=quarantine→p=reject - Supervisa los informes
ruaantes de endurecer
Tabla resumen DNS
| Tipo | Host/Name | Value | Obligatorio |
|---|---|---|---|
| CNAME | {token1}._domainkey.captaindns.com | {token1}.dkim.amazonses.com | Sí (Easy DKIM) |
| CNAME | {token2}._domainkey.captaindns.com | {token2}.dkim.amazonses.com | Sí (Easy DKIM) |
| CNAME | {token3}._domainkey.captaindns.com | {token3}.dkim.amazonses.com | Sí (Easy DKIM) |
| MX | mail.captaindns.com | feedback-smtp.{region}.amazonses.com | Sí (Custom MAIL FROM) |
| TXT | mail.captaindns.com | "v=spf1 include:amazonses.com ~all" | Sí (Custom MAIL FROM) |
| TXT | _dmarc.captaindns.com | "v=DMARC1;p=reject;adkim=r;aspf=r;..." | Recomendado |
| CNAME | track.captaindns.com | r.{region}.awstrack.me | Opcional (tracking) |
Métodos de envío: API v2 vs SMTP
API v2 (recomendada)
Endpoint: https://email.{region}.amazonaws.com
aws sesv2 send-email \
--from-email-address "sender@captaindns.com" \
--destination '{"ToAddresses":["recipient@captaindns.com"]}' \
--content '{
"Simple": {
"Subject": {"Data": "Test"},
"Body": {"Html": {"Data": "<h1>Hello</h1>"}}
}
}' \
--configuration-set-name "my-config-set"
Ventajas v2:
- Mensajes hasta 40 MB (vs 10 MB en v1)
- Headers custom nativos (List-Unsubscribe sin Raw email)
ListManagementOptionspara la gestión de listas
Interfaz SMTP
Endpoint: email-smtp.{region}.amazonaws.com
| Puerto | Protocolo | Recomendación |
|---|---|---|
| 25 | STARTTLS | Frecuentemente bloqueado por ISPs |
| 465 | TLS implícito | Alternativa |
| 587 | STARTTLS | Recomendado |
| 2587 | STARTTLS | Alternativa al 587 |
Headers X-SES-* disponibles:
X-SES-CONFIGURATION-SET: asociar un configuration setX-SES-MESSAGE-TAGS: añadir tags (key=value)
Cuotas y límites a conocer
| Cuota | Sandbox | Producción |
|---|---|---|
| Emails/24h | 200 | ~50 000-100 000 (inicial) |
| Tasa de envío | 1/seg | ~14-50/seg (inicial) |
| Destinatarios/mensaje | 50 | 50 |
| Tamaño mensaje (API v2) | 40 MB | 40 MB |
Salir del sandbox: vía Console SES o AWS CLI, plazo ~24h si la solicitud está completa.
Umbrales de reputación: las cifras críticas

| Métrica | Warning | Máximo | Acción |
|---|---|---|---|
| Bounce Rate | 5% | 10% | Account review |
| Complaint Rate | 0.1% | 0.2% | Account review |
Mejores prácticas:
- Activar la account-level suppression list (suprime automáticamente los hard bounces)
- Configurar alertas CloudWatch sobre
Reputation.BounceRateyReputation.ComplaintRate - Soft bounces: SES reintenta automáticamente durante 12h
Precios 2025
| Componente | Precio |
|---|---|
| Emails enviados | $0.10 / 1 000 |
| Datos salientes (attachments) | $0.12 / GB (1er GB gratis) |
| IP dedicada estándar | $24.95 / mes / IP |
| Managed Dedicated IPs | $15/mes + $0.08-0.02/1000 según volumen |
| Virtual Deliverability Manager | $0.07 / 1 000 emails |
Free tier (cuentas nuevas): 3 000 emails/mes durante 12 meses.
Plan de acción: configuración en 6 pasos
- Crear una identidad de dominio en la consola SES (región EU de tu elección)
- Configurar Easy DKIM: publicar los 3 CNAME proporcionados por SES
- Esperar la verificación: hasta 72h para la propagación DNS
- Configurar Custom MAIL FROM: crear el subdominio con MX y TXT SPF
- Publicar el registro DMARC: comenzar con
p=none, monitorear los informes - Salir del sandbox: enviar la solicitud de production access
FAQ
¿Es obligatorio configurar Custom MAIL FROM?
Para el alineamiento SPF DMARC, sí. Sin Custom MAIL FROM, SPF autentica con amazonses.com, lo que rompe el alineamiento. Si solo cuentas con DKIM para DMARC (lo cual funciona), Custom MAIL FROM sigue siendo recomendado para defensa en profundidad.
¿Qué región EU elegir para el RGPD?
Las 7 regiones EU (Frankfurt, Ireland, London, Paris, Stockholm, Milan, Zurich) son todas conformes con el RGPD con DPA incluido automáticamente. Elige según la latencia y la disponibilidad SMTP (Milan y Zurich no tienen endpoint SMTP).
¿Los 3 CNAME de Easy DKIM están activos simultáneamente?
No. Solo un CNAME está activo (resuelve con una clave pública p=...) en un momento dado. Los otros dos están en rotación (passive/pending). SES gestiona automáticamente la rotación cada ~90 días.
¿Cómo probar la configuración antes de enviar en producción?
En sandbox, envía a direcciones verificadas. Usa aws sesv2 send-email con un configuration set configurado para publicar eventos hacia SNS o CloudWatch. Verifica los headers DKIM y SPF recibidos.
Glosario
-
Easy DKIM: método SES que genera y gestiona automáticamente las claves DKIM mediante 3 registros CNAME, con rotación automática.
-
Custom MAIL FROM: subdominio configurado para reemplazar el dominio MAIL FROM por defecto (
amazonses.com), requerido para el alineamiento SPF DMARC. -
BYODKIM: Bring Your Own DKIM - opción para usar tus propias claves DKIM en lugar de las generadas por SES (1 solo registro TXT).
-
Configuration Set: conjunto de reglas SES para tracking, notificaciones de eventos y políticas TLS.
-
Sandbox: modo inicial de las cuentas SES que limita el envío a 200 emails/día hacia direcciones verificadas únicamente.
-
Virtual Deliverability Manager (VDM): funcionalidad de pago de SES que ofrece un dashboard de métricas y recomendaciones automatizadas de entregabilidad.


