toutes les fiches

// comment corriger

Vérification DKIM Amazon SES en attente (Pending) ou en échec (Failed) : comment corriger

Votre domaine Amazon SES reste « Pending » ou affiche DKIM « Failed ». Vérifiez les trois CNAME, les erreurs DNS courantes et comment relancer la vérification.

Ce que ça veut dire

Quand vous ajoutez un domaine à Amazon SES avec Easy DKIM, SES vous donne trois enregistrements CNAME. SES les cherche dans votre DNS public. Tant qu'il ne les a pas trouvés tous les trois, l'identité du domaine n'est pas vérifiée et SES ne signe pas vos emails avec DKIM (DomainKeys Identified Mail, une signature numérique qui prouve que le message vient bien de votre domaine). Le statut DKIM peut être :

  • PENDING : SES n'a pas encore trouvé les enregistrements.
  • SUCCESS : les enregistrements ont été trouvés ; la signature est active.
  • FAILED : SES a abandonné, généralement parce qu'il n'a pas trouvé les enregistrements.
  • TEMPORARY_FAILURE : un problème DNS temporaire empêche SES de vérifier.
  • NOT_STARTED : la vérification n'a jamais été lancée.

SES cherche les enregistrements pendant 72 heures au maximum. Passé ce délai, un domaine toujours introuvable passe en Failed.

Pourquoi cela arrive

  • Nom de domaine en double. Beaucoup d'interfaces DNS ajoutent votre domaine automatiquement. Si vous collez abc123._domainkey.yourdomain.com comme nom, l'enregistrement réel devient abc123._domainkey.yourdomain.com.yourdomain.com. Voir enregistrement DNS ajouté au mauvais nom.
  • Enregistrements créés en TXT au lieu de CNAME, ou avec une valeur tronquée, ou sans la terminaison .dkim.amazonses.com.
  • Seuls un ou deux des trois enregistrements ont été ajoutés.
  • Proxy activé. Chez Cloudflare, un CNAME proxifié (nuage orange) n'est pas renvoyé comme CNAME ; voir les enregistrements proxifiés Cloudflare cassent l'email.
  • Mauvaise zone DNS. Vous avez modifié la zone chez votre registrar, mais le domaine utilise d'autres serveurs de noms (votre hébergeur, Cloudflare, Route 53...).
  • Une autre Région ou un autre compte. DKIM se configure par Région et par compte AWS. Des enregistrements créés pour une Région ne vérifient pas l'identité dans une autre, sauf si vous utilisez la fonction qui réplique les clés entre Régions.

Comment vérifier

Dans la console SES, ouvrez Identities, choisissez votre domaine et regardez la section DKIM : elle liste les trois enregistrements exacts. Ils ressemblent à ceci (les jetons vous sont propres) :

Name:  abc123token1._domainkey.yourdomain.com
Type:  CNAME
Value: abc123token1.dkim.amazonses.com

Interrogez chaque nom depuis un terminal. Une réponse correcte renvoie la cible dkim.amazonses.com :

dig +short CNAME abc123token1._domainkey.yourdomain.com
abc123token1.dkim.amazonses.com.

dig +short NS yourdomain.com

La deuxième commande indique quels serveurs de noms hébergent réellement votre zone. Vous pouvez aussi lancer le scanner de domaine de Delivmail sur votre domaine pour voir les enregistrements DNS tels que le monde entier les voit. En ligne de commande, aws sesv2 get-email-identity --email-identity yourdomain.com affiche DkimAttributes.Status et les jetons attendus.

Comment corriger

  1. Copiez les trois enregistrements à l'identique. Utilisez les boutons de copie ou Download .csv record set. Si votre interface ajoute le domaine elle-même, saisissez seulement abc123token1._domainkey comme nom.
  2. Utilisez le type CNAME et, chez Cloudflare, passez les enregistrements en DNS only.
  3. Modifiez la bonne zone : celle servie par les serveurs de noms renvoyés par dig NS.
  4. Si le domaine est sur Route 53 dans le même compte AWS, SES peut publier les enregistrements pour vous.
  5. Patientez. La plupart des fournisseurs publient en quelques minutes, mais SES peut mettre jusqu'à 72 heures à s'en apercevoir. Baisser le TTL n'accélère pas la première vérification d'un enregistrement tout neuf. Voir propagation DNS et TTL.
  6. Si le statut est Failed, corrigez d'abord les enregistrements, puis relancez la vérification. AWS recommande de réessayer depuis la console une fois que les enregistrements se résolvent ; une méthode courante consiste à désactiver puis réactiver la signature DKIM de l'identité, ou à supprimer puis recréer l'identité (cela génère de nouveaux jetons, il faut donc publier les nouveaux enregistrements).

Si vous utilisez BYODKIM (votre propre clé) au lieu d'Easy DKIM, SES cherche un enregistrement TXT sur selector._domainkey.yourdomain.com. La clé privée doit être une clé RSA de 1024 ou 2048 bits encodée en base64, et la clé publique dans le DNS ne doit contenir ni en-tête, ni pied, ni retour à la ligne.

Une fois DKIM fonctionnel, pensez aussi à l'adresse de rebond : par défaut, SES utilise un domaine MAIL FROM en amazonses.com, donc le SPF n'est pas aligné sur votre domaine. Voir domaine MAIL FROM personnalisé pour l'alignement DMARC.

Vérifier que c'est corrigé

La console doit afficher l'identité en Verified et DKIM en Successful. Envoyez ensuite un message via SES à votre adresse unique de la page d'accueil de Delivmail. Le rapport doit montrer une signature DKIM valide avec d=yourdomain.com. Vous verrez aussi une seconde signature avec d=amazonses.com ; SES l'ajoute volontairement et elle est sans danger. Si vous recevez un email de SES annonçant que votre configuration DKIM va être révoquée, c'est que les enregistrements ont été supprimés : remettez-les avant la date limite indiquée dans cet email.

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