// comment corriger
Amazon SES « Email address is not verified » : sandbox et identités, la solution
Amazon SES refuse votre email car une identité d'expéditeur ou de destinataire n'est pas vérifiée. Vérifiez vos identités, sortez de la sandbox et envoyez sereinement.
Ce que ça veut dire
Amazon SES (Simple Email Service) a refusé d'envoyer votre message parce que l'une des adresses qu'il contient n'est pas une identité vérifiée dans votre compte AWS, dans la Région AWS que vous utilisez. Une identité est une adresse email ou un domaine dont vous avez prouvé être propriétaire. En SMTP, l'erreur ressemble à ceci :
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
Via l'API ou un SDK, elle revient sous forme d'erreur MessageRejected avec le même texte. La liste à la fin indique précisément quelles identités ont échoué. Si elle est trop longue, elle se termine par des points de suspension (...).
Pourquoi cela arrive
- L'expéditeur n'est pas vérifié. SES n'envoie que depuis des adresses ou des domaines que vous avez vérifiés. Cela concerne les adresses From, Sender et Return-Path (et
FromEmailAddressdans l'API). - Votre compte est encore dans la sandbox. Tout nouveau compte SES démarre dans la sandbox (bac à sable). Vous ne pouvez alors envoyer qu'à des adresses ou domaines vérifiés, ou au simulateur de boîte mail de SES. Par défaut, la sandbox vous limite aussi à 200 messages par 24 heures et à 1 message par seconde.
- Mauvaise Région. La vérification et le statut sandbox sont propres à chaque Région AWS. Un domaine vérifié dans
eu-west-1est inconnu dansus-east-1. Vérifiez la Région dans votre point de terminaison SMTP (email-smtp.eu-west-1.amazonaws.com) ou dans la configuration de votre SDK. - Une faute de frappe ou une autre adresse. Votre application envoie depuis
noreply@mail.yourdomain.com, mais vous n'avez vérifiéyourdomain.comque pour un autre sous-domaine, ou vous avez vérifié une adresse unique qui n'est pas celle utilisée.
Comment vérifier
- Lisez les identités listées dans l'erreur. Notez s'il s'agit de votre expéditeur, de votre destinataire, ou des deux.
- Dans la console SES, sélectionnez la bonne Région, puis ouvrez Identities (dans Configuration). Chaque identité doit afficher le statut Verified.
- Ouvrez l'Account dashboard. Si un bandeau indique Your Amazon SES account is in the sandbox, les destinataires doivent eux aussi être vérifiés. Avec l'AWS CLI,
aws sesv2 get-account --region us-east-1affiche"ProductionAccessEnabled": falsetant que vous êtes dans la sandbox. - Contrôlez les enregistrements de votre domaine avec le scanner de domaine de Delivmail : SES vérifie un domaine grâce à ses enregistrements DKIM, donc sans eux le domaine ne peut pas passer en Verified.
Comment corriger
Vérifier l'expéditeur
Mieux vaut vérifier le domaine entier que des adresses isolées : toutes les adresses du domaine deviennent utilisables et la signature DKIM est activée. Dans Identities, choisissez Create identity, sélectionnez Domain et publiez les trois enregistrements CNAME DKIM que SES vous affiche. Si le statut reste en attente, consultez vérification DKIM Amazon SES en attente ou en échec. Pour une adresse seule, choisissez Email address et cliquez sur le lien du message que SES lui envoie.
Pendant vos tests dans la sandbox
Vérifiez chaque destinataire de test comme identité email, ou envoyez au simulateur de boîte mail, par exemple success@simulator.amazonses.com. C'est très bien pour le développement, pas pour de vrais clients.
Demander l'accès production
Dans la console : Account dashboard, puis View Get set up page, puis Request production access. Choisissez Marketing ou Transactional, indiquez l'URL de votre site et confirmez que vous n'écrivez qu'à des personnes qui ont demandé vos emails et que vous traitez les rebonds et les plaintes. Vous pouvez aussi le faire en ligne de commande :
aws sesv2 put-account-details \ --production-access-enabled \ --mail-type TRANSACTIONAL \ --website-url https://yourdomain.com \ --contact-language EN \ --region us-east-1
AWS annonce une première réponse sous 96 heures. Expliquez clairement comment les gens s'inscrivent, comment vous retirez les adresses en rebond et comment ils peuvent se désabonner. Un domaine vérifié avec DKIM aide la demande. Faites-le pour chaque Région depuis laquelle vous envoyez.
Sortir de la sandbox relève les limites par défaut ; si vous atteignez plus tard un débit ou un quota journalier, consultez erreurs de limitation Amazon SES. Une fois en production, vous devez toujours vérifier chaque identité d'expéditeur.
Vérifier que c'est corrigé
Copiez votre adresse de test unique depuis la page d'accueil de Delivmail et envoyez-lui un message via SES avec les réglages habituels de votre application. Dans la sandbox, cela ne fonctionne que si vous vérifiez d'abord cette adresse de test ; en production, cela fonctionne directement. Le rapport doit montrer un DKIM valide pour votre domaine. Renvoyez ensuite au destinataire qui avait échoué. Si l'erreur liste encore une identité, comparez son orthographe et la Région indiquée dans l'erreur avec ce qu'affiche la console.
Vérifiez que c'est corrigé
Une modification DNS peut prendre de quelques minutes à quelques heures. Ensuite, envoyez un nouvel email de test ou scannez à nouveau votre domaine.
Fiches liées
- Erreur Gmail « 550 5.7.26 » : email non authentifiéGmail a refusé votre email parce qu'il n'a pas pu confirmer qu'il vient de votre domaine. Le SPF, le DKIM ou le DMARC est absent ou en échec. Voici comment corriger.
- Erreur « 550 5.7.1 » : message refusé ou bloqué par une règleUne erreur 5.7.1 signifie que le serveur de réception a refusé votre email volontairement. Apprenez à lire les messages d'erreur, à trouver la vraie raison et à la corriger.
- Taux de rebond élevé : nettoyez votre liste de diffusionEnvoyer à des adresses qui n'existent plus abîme vite votre réputation. Apprenez la différence entre hard bounces et soft bounces, et retirez les mauvaises adresses après chaque envoi.
- Emails retardés : greylisting et erreurs temporaires 4xxCertains serveurs répondent « réessayez plus tard » volontairement. Un serveur de messagerie normal réessaie et l'email arrive quelques minutes en retard. Voici comment distinguer les retards normaux des vrais problèmes.
- Reports « 421 4.7.0 [TSS04] » chez Yahoo et AOLYahoo refuse temporairement vos emails à cause de leur volume ou des plaintes. Ralentissez, laissez les nouvelles tentatives se faire et corrigez ce qui déplaît à Yahoo.