// comment corriger
CNAME en conflit avec les enregistrements MX et TXT : « CNAME and other data »
Un CNAME ne peut pas partager son nom avec un MX, un TXT ou un autre enregistrement. Pourquoi votre DNS le refuse ou l'email casse, et comment corriger.
Ce que ça veut dire
Un enregistrement CNAME dit « ce nom est un alias d'un autre nom ». Les règles du DNS (RFC 1034, confirmée par la RFC 2181) indiquent que si un nom a un CNAME, il ne peut avoir aucun autre enregistrement : ni MX, ni TXT, ni A. Un nom est soit un alias, soit un vrai nom avec ses propres enregistrements, jamais les deux.
On le constate généralement de l'une de ces deux façons :
- Votre hébergeur DNS refuse d'enregistrer l'entrée, avec un message comme « CNAME conflicts with existing records », « A CNAME record already exists for this name » ou « CNAME and other data ».
- Votre hébergeur DNS l'accepte quand même (certains le font), et les résolveurs renvoient ensuite des réponses incohérentes : le SPF, le DMARC ou le MX semblent apparaître et disparaître, et l'email échoue au hasard.
Pourquoi cela arrive
- CNAME sur le domaine racine. Un créateur de sites ou une plateforme d'hébergement vous demande de faire pointer
yourdomain.com(l'apex,@) avec un CNAME. L'apex a toujours des enregistrements SOA et NS, et généralement des MX et des TXT (SPF, vérification) : un CNAME y est donc invalide. - Un sous-domaine utilisé à la fois pour le web et l'email. Par exemple,
shop.yourdomain.comest un CNAME vers votre plateforme de boutique, et un outil d'emailing vous demande d'ajouter un MX ou un TXT SPF sur le même nom. - DKIM ajouté deux fois. Un sélecteur comme
selector1._domainkeya un CNAME d'un prestataire et un TXT d'une autre configuration. - TXT de vérification sur un nom en CNAME. Un outil demande un TXT sur
wwwalors quewwwest un CNAME. - DMARC sur un CNAME. Un
_dmarc.yourdomain.comen CNAME est autorisé (il délègue le DMARC), mais vous ne pouvez alors pas y ajouter votre propre TXT.
Comment vérifier
- Ouvrez le scanner de domaine et regardez le MX, le SPF et le DMARC. Des valeurs absentes ou étranges sur un nom qui devrait les avoir sont un indice.
- Demandez le CNAME du nom exact :
dig CNAME yourdomain.com +short dig CNAME shop.yourdomain.com +short shops.platform.example.
Si la commande renvoie une cible, ce nom ne peut rien avoir d'autre. - Demandez le MX et le TXT du même nom :
dig MX shop.yourdomain.com dig TXT shop.yourdomain.com
Si la section de réponse commence par un CNAME, vous voyez les enregistrements de la cible, pas les vôtres. - Envoyez un email de test à l'adresse unique affichée sur la page d'accueil de Delivmail (
/) pour voir les résultats SPF et DMARC du vrai domaine d'envoi.
Comment corriger
CNAME sur l'apex
Remplacez-le par quelque chose d'autorisé sur l'apex :
- Des enregistrements A/AAAA avec les IP que votre plateforme web fournit pour les domaines racine.
- Un enregistrement ALIAS, ANAME ou « CNAME flattening » si votre hébergeur DNS le propose (Cloudflare aplatit automatiquement un CNAME sur l'apex). Ils répondent avec des enregistrements A, donc le MX et le TXT peuvent coexister.
- Ou faites pointer seulement
wwwavec un CNAME et redirigez l'apex verswww.
Before (invalid): yourdomain.com. CNAME sites.platform.example. yourdomain.com. MX 10 mail.yourdomain.com. After: yourdomain.com. A 203.0.113.80 yourdomain.com. MX 10 mail.yourdomain.com. yourdomain.com. TXT "v=spf1 ip4:203.0.113.25 ~all" www CNAME sites.platform.example.
Sous-domaine utilisé pour le web et l'email
Utilisez des noms différents : gardez shop.yourdomain.com en CNAME pour le site, et envoyez vos emails depuis un autre sous-domaine comme mail.yourdomain.com ou news.yourdomain.com, avec ses propres MX et TXT. Voir l'authentification email des sous-domaines.
Sélecteurs DKIM
Gardez un seul enregistrement par sélecteur. Si un prestataire utilise des CNAME (voir le DKIM avec des enregistrements CNAME), supprimez tout TXT portant le même nom de sélecteur, ou utilisez un autre sélecteur pour l'autre système.
TXT de vérification sur un nom en CNAME
Demandez à l'outil s'il accepte la vérification sur un autre nom (beaucoup le font) ou sur l'apex.
Vérifiez que c'est corrigé
Une fois le TTL des anciens enregistrements expiré, dig CNAME ne doit plus rien renvoyer sur les noms qui doivent porter un MX ou un TXT, et dig MX / dig TXT doivent renvoyer directement vos enregistrements. Vérifiez de nouveau avec le scanner de domaine, puis lancez un nouveau test Delivmail et vérifiez que le SPF et le DMARC passent. Envoyez un email à une adresse du domaine pour confirmer que la réception fonctionne.
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
- Aucun enregistrement SPF sur votre domaineVotre domaine n'indique pas quels serveurs ont le droit d'envoyer des emails en son nom. Ajoutez un enregistrement TXT et les destinataires sauront distinguer vos vrais emails des faux.
- Erreur SPF : trop de requêtes DNS (permerror)Le SPF autorise au maximum 10 requêtes DNS. Au-delà, tout l'enregistrement est cassé et les destinataires le considèrent comme invalide. Voici comment l'alléger.
- Plusieurs enregistrements SPF sur un même domaineUn domaine ne doit avoir qu'un seul enregistrement SPF. Avec deux ou plus, le SPF échoue pour tous vos emails. Fusionnez-les en une seule ligne.
- Échec SPF : le serveur d'envoi n'est pas autoriséVotre domaine a un enregistrement SPF, mais le serveur qui a envoyé votre email n'y figure pas. Trouvez quel service a envoyé l'email et ajoutez-le.
- Aucune signature DKIM sur vos emailsLe DKIM ajoute une signature numérique qui prouve qu'un email vient bien de votre domaine. Activez-le chez votre fournisseur de messagerie et publiez sa clé dans le DNS.