todas las guías

// cómo solucionarlo

Dominio MAIL FROM personalizado en Amazon SES: alineación SPF para DMARC

Amazon SES usa un dominio de rebote amazonses.com, así que SPF no se alinea con DMARC. Configura un subdominio MAIL FROM propio con los registros MX y SPF correctos.

Qué significa

Todo email tiene dos direcciones de remitente. La dirección From es la que ve la gente. La MAIL FROM (también llamada remitente del sobre, Return-Path o dirección de rebote) la usan los servidores para devolver los rebotes. SPF comprueba el dominio del MAIL FROM, no el del From.

Por defecto, Amazon SES usa un subdominio de amazonses.com como MAIL FROM. SPF se supera, pero para amazonses.com, no para tu dominio. DMARC necesita que SPF o DKIM se superen para un dominio alineado con el dominio de tu From. Así que, con la configuración por defecto, SPF nunca cuenta para DMARC. En un informe se ve así:

spf=pass smtp.mailfrom=0100018abc...@us-east-1.amazonses.com
dkim=pass header.d=yourdomain.com
dmarc=pass header.from=yourdomain.com

Aquí DMARC se sigue superando gracias a DKIM. Pero dependes solo de DKIM: si un reenviador o un pie de página añadido por una pasarela rompe la firma, DMARC falla. Un dominio MAIL FROM personalizado te da un segundo resultado positivo y alineado. La idea general se explica en Return-Path, remitente del sobre y From.

Por qué ocurre

  • No hay ningún dominio MAIL FROM personalizado configurado en la identidad (el caso por defecto).
  • Hay un dominio MAIL FROM personalizado configurado, pero su estado es Pending, TemporaryFailure o Failed. Con la opción de respaldo Use default MAIL FROM domain, SES vuelve sin avisar a amazonses.com.
  • El subdominio MAIL FROM tiene dos registros MX, o ninguno, o una región equivocada en el valor del MX.
  • Tu registro DMARC usa una alineación SPF estricta (aspf=s). Un subdominio como mail.yourdomain.com solo se alinea en modo relajado, que es el modo por defecto.

Cómo comprobarlo

Envía un email a través de SES a la dirección única de la página de inicio de Delivmail y abre el informe. Fíjate en el dominio que comprueba SPF y en si la sección DMARC muestra SPF como alineado. Si ves amazonses.com, el MAIL FROM personalizado no está activo. En la consola de SES, abre Identities, tu dominio y el panel Custom MAIL FROM domain para ver su estado. Desde un terminal:

dig +short MX mail.yourdomain.com
dig +short TXT mail.yourdomain.com
dig +short TXT _dmarc.yourdomain.com

Cómo solucionarlo

  1. Elige un subdominio dedicado, por ejemplo mail.yourdomain.com o bounce.yourdomain.com. AWS exige que sea un subdominio de una identidad verificada, que no se use para enviar como From y que no se use para recibir email. No reutilices un subdominio que ya tenga registros MX para un buzón.
  2. En la consola: Identities, tu dominio, Custom MAIL FROM domain, Edit. Marca Use a custom MAIL FROM domain, introduce el subdominio y elige el Behavior on MX failure (comportamiento si falla el MX). Use default MAIL FROM domain sigue enviando si el DNS falla; Reject message deja de enviar con un error MailFromDomainNotVerified.
  3. Publica los dos registros que muestra SES, sustituyendo la región por la tuya:
mail.yourdomain.com.  MX   10 feedback-smtp.us-east-1.amazonses.com
mail.yourdomain.com.  TXT  "v=spf1 include:amazonses.com ~all"

Debe haber exactamente un registro MX en ese subdominio; si no, la configuración falla. El registro SPF va en el subdominio, no en tu dominio principal, así que no consume ninguna de las 10 consultas DNS de tu SPF principal. Si el subdominio ya tiene un CNAME, elimínalo primero: un CNAME no puede convivir con registros MX o TXT (consulta conflictos de CNAME con registros MX y TXT).

Con la CLI, la misma configuración es:

aws sesv2 put-email-identity-mail-from-attributes \
  --email-identity yourdomain.com \
  --mail-from-domain mail.yourdomain.com \
  --behavior-on-mx-failure USE_DEFAULT_VALUE

SES busca el registro MX durante un máximo de 72 horas. Si no lo encuentra, el estado pasa a Failed y tienes que repetir la configuración. Haz lo mismo en cada región donde se use la identidad.

Mantén la alineación relajada en DMARC (sin aspf=s) o el subdominio no se alineará. Si otros servicios también envían en nombre de tu dominio, comprueba cómo encajan entre sí en varios servicios de email en un mismo dominio. Para lo básico de DMARC, consulta DMARC falla: SPF y DKIM no coinciden con tu dominio.

Comprueba que está solucionado

Espera a que la consola muestre el estado Success (SES también envía un email al propietario de la cuenta). Haz una nueva prueba con Delivmail: SPF debería superarse ahora para mail.yourdomain.com y DMARC debería mostrar SPF y DKIM alineados. Después vuelve a enviar al destinatario cuyo servidor rechazó o filtró tu mensaje. Los cambios DNS pueden tardar un poco en llegar a todos los resolvedores, según el TTL.

Comprueba que está solucionado

Un cambio de DNS puede tardar de unos minutos a unas horas. Después, envía un nuevo email de prueba o vuelve a escanear tu dominio.

Guías relacionadas