tutte le guide

// come risolvere

Amazon SES "Email address is not verified": sandbox e identità, come risolvere

Amazon SES rifiuta la tua email perché un'identità del mittente o del destinatario non è verificata. Verifica le identità, esci dalla sandbox e invia in sicurezza.

Cosa significa

Amazon SES (Simple Email Service) si è rifiutato di inviare il tuo messaggio perché uno degli indirizzi contenuti non è un'identità verificata nel tuo account AWS, nella Region AWS che stai usando. Un'identità è un indirizzo email o un dominio di cui hai dimostrato di essere il proprietario. Via SMTP l'errore si presenta così:

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

Tramite l'API o un SDK arriva come errore MessageRejected con lo stesso testo. L'elenco finale ti dice esattamente quali identità non hanno superato il controllo. Se è troppo lungo, termina con dei puntini di sospensione (...).

Perché succede

  • Il mittente non è verificato. SES invia solo da indirizzi o domini che hai verificato. Questo vale per gli indirizzi From, Sender e Return-Path (e per FromEmailAddress nell'API).
  • Il tuo account è ancora nella sandbox. Ogni nuovo account SES parte nella sandbox. Lì puoi inviare solo verso indirizzi o domini verificati, oppure verso il mailbox simulator di SES. Per impostazione predefinita la sandbox ti limita anche a 200 messaggi ogni 24 ore e a 1 messaggio al secondo.
  • Region sbagliata. La verifica e lo stato della sandbox sono separati per ogni Region AWS. Un dominio verificato in eu-west-1 è sconosciuto in us-east-1. Controlla la Region nel tuo endpoint SMTP (email-smtp.eu-west-1.amazonaws.com) o nella configurazione dell'SDK.
  • Un errore di battitura o un indirizzo diverso. La tua applicazione invia da noreply@mail.yourdomain.com ma hai verificato yourdomain.com solo per un altro sottodominio, oppure hai verificato un singolo indirizzo che non è quello usato.

Come verificare

  1. Leggi le identità elencate nell'errore. Annota se si tratta del mittente, del destinatario o di entrambi.
  2. Nella console SES seleziona la Region giusta, poi apri Identities (sotto Configuration). Ogni identità deve mostrare lo stato Verified.
  3. Apri l'Account dashboard. Se un banner indica Your Amazon SES account is in the sandbox, anche i destinatari devono essere verificati. Con l'AWS CLI, aws sesv2 get-account --region us-east-1 mostra "ProductionAccessEnabled": false finché sei nella sandbox.
  4. Controlla i record del tuo dominio con lo scanner di dominio di Delivmail: SES verifica un dominio tramite i suoi record DKIM, quindi se mancano i record DKIM il dominio non può diventare Verified.

Come risolvere

Verifica il mittente

Verificare l'intero dominio è meglio che verificare singoli indirizzi: ogni indirizzo del dominio diventa utilizzabile e si attiva la firma DKIM. In Identities scegli Create identity, seleziona Domain e pubblica i tre record CNAME DKIM che SES ti mostra. Se lo stato resta in attesa, consulta verifica DKIM di Amazon SES in attesa o fallita. Per un singolo indirizzo scegli Email address e clicca il link nel messaggio che SES gli invia.

Durante i test nella sandbox

Verifica ogni destinatario di test come identità email, oppure invia al mailbox simulator, per esempio success@simulator.amazonses.com. Va bene per lo sviluppo, non per i clienti reali.

Richiedi l'accesso in produzione

Nella console: Account dashboard, poi View Get set up page, poi Request production access. Scegli Marketing o Transactional, indica l'URL del tuo sito e conferma che invii solo a persone che hanno chiesto di ricevere le tue email e che gestisci bounce e reclami. Puoi farlo anche dalla 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 dichiara di dare una prima risposta entro 96 ore. Spiega chiaramente come si iscrivono le persone, come rimuovi gli indirizzi in bounce e come possono disiscriversi. Un dominio verificato con DKIM aiuta la richiesta. Ripeti la procedura per ogni Region da cui invii.

Uscire dalla sandbox alza i limiti predefiniti; se in seguito raggiungi un limite di velocità o una quota giornaliera, consulta errori di throttling di Amazon SES. Anche in produzione devi comunque verificare ogni identità mittente.

Verifica che sia risolto

Copia il tuo indirizzo di test unico dalla home page di Delivmail e inviagli un messaggio tramite SES con le normali impostazioni della tua applicazione. Nella sandbox funziona solo se prima verifichi quell'indirizzo di test; in produzione funziona subito. Il report dovrebbe mostrare DKIM superato per il tuo dominio. Poi invia di nuovo al destinatario che aveva fallito. Se l'errore elenca ancora un'identità, confronta la sua grafia e la Region indicata nell'errore con quanto mostra la console.

Verifica che sia risolto

Una modifica DNS può richiedere da pochi minuti a qualche ora. Poi invia una nuova email di test o scansiona di nuovo il tuo dominio.

Guide correlate