todas las guías

// cómo solucionarlo

Amazon SES "Email address is not verified": sandbox e identidades, cómo solucionarlo

Amazon SES rechaza tu email porque una identidad de remitente o destinatario no está verificada. Verifica identidades, sal del sandbox y envía sin riesgo.

Qué significa

Amazon SES (Simple Email Service) se ha negado a enviar tu mensaje porque una de sus direcciones no es una identidad verificada en tu cuenta de AWS, en la región de AWS que estás usando. Una identidad es una dirección de email o un dominio del que has demostrado ser el propietario. Por SMTP, el error tiene este aspecto:

554 Message rejected: Email address is not verified. The following identities failed the check in region US-EAST-1: sender@yourdomain.com, customer@example.com

A través de la API o de un SDK aparece como un error MessageRejected con el mismo texto. La lista del final te dice exactamente qué identidades han fallado. Si es demasiado larga, termina con puntos suspensivos (...).

Por qué ocurre

  • El remitente no está verificado. SES solo envía desde direcciones o dominios que has verificado. Esto se aplica a las direcciones From, Sender y Return-Path (y a FromEmailAddress en la API).
  • Tu cuenta sigue en el sandbox. Toda cuenta nueva de SES empieza en el sandbox (entorno de pruebas). Ahí solo puedes enviar a direcciones o dominios verificados, o al simulador de buzones de SES. Por defecto, el sandbox también te limita a 200 mensajes cada 24 horas y a 1 mensaje por segundo.
  • Región equivocada. La verificación y el estado del sandbox son independientes en cada región de AWS. Un dominio verificado en eu-west-1 es desconocido en us-east-1. Comprueba la región en tu endpoint SMTP (email-smtp.eu-west-1.amazonaws.com) o en la configuración del SDK.
  • Una errata o una dirección distinta. Tu aplicación envía desde noreply@mail.yourdomain.com, pero verificaste yourdomain.com solo para otro subdominio, o verificaste una única dirección que no es la que se usa.

Cómo comprobarlo

  1. Lee las identidades que aparecen en el error. Fíjate en si es tu remitente, tu destinatario o ambos.
  2. En la consola de SES, selecciona la región correcta y abre Identities (en Configuration). Cada identidad debe mostrar el estado Verified.
  3. Abre el Account dashboard. Si un aviso dice Your Amazon SES account is in the sandbox, los destinatarios también tienen que estar verificados. Con la AWS CLI: aws sesv2 get-account --region us-east-1 muestra "ProductionAccessEnabled": false mientras estés en el sandbox.
  4. Revisa los registros de tu dominio con el escáner de dominios de Delivmail: SES verifica un dominio mediante sus registros DKIM, así que si faltan, el dominio no puede pasar a Verified.

Cómo solucionarlo

Verifica el remitente

Verificar el dominio entero es mejor que verificar direcciones sueltas: todas sus direcciones pasan a ser utilizables y se activa la firma DKIM. En Identities, elige Create identity, selecciona Domain y publica los tres registros CNAME de DKIM que te muestra SES. Si el estado se queda en pendiente, consulta verificación DKIM de Amazon SES pendiente o fallida. Para una sola dirección, elige Email address y haz clic en el enlace del mensaje que SES le envía.

Mientras pruebas en el sandbox

Verifica cada destinatario de prueba como identidad de email, o envía al simulador de buzones, por ejemplo success@simulator.amazonses.com. Esto sirve para desarrollo, no para clientes reales.

Solicita el acceso de producción

En la consola: Account dashboard, después View Get set up page y después Request production access. Elige Marketing o Transactional, indica la URL de tu web y confirma que solo envías a personas que han pedido tus emails y que gestionas los rebotes y las quejas. También puedes hacerlo desde la CLI:

aws sesv2 put-account-details \
  --production-access-enabled \
  --mail-type TRANSACTIONAL \
  --website-url https://yourdomain.com \
  --contact-language EN \
  --region us-east-1

AWS dice que da una primera respuesta en un plazo de 96 horas. Explica con claridad cómo se registra la gente, cómo eliminas las direcciones que rebotan y cómo pueden darse de baja. Un dominio verificado con DKIM ayuda a que se acepte la solicitud. Haz esto en cada región desde la que envíes.

Salir del sandbox aumenta los límites por defecto; si más adelante alcanzas un límite de velocidad o una cuota diaria, consulta errores de limitación (throttling) de Amazon SES. Una vez en producción, sigues teniendo que verificar cada identidad de remitente.

Comprueba que está solucionado

Copia tu dirección de prueba única desde la página de inicio de Delivmail y envíale un mensaje a través de SES con la configuración normal de tu aplicación. En el sandbox solo funciona si antes verificas esa dirección de prueba; en producción funciona directamente. El informe debería mostrar DKIM superado para tu dominio. Después vuelve a enviar al destinatario que falló. Si el error sigue mencionando una identidad, compara cómo está escrita y la región del error con lo que muestra la consola.

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