Tutoriel · 12 min de lecture

Les 7 enregistrements DNS dont tout expéditeur d'email auto-hébergé a besoin

Par Équipe AcelleMail May 8, 2026 12 min de lecture
tutorial deliverability

Une référence DNS à copier-coller : SPF, DKIM, DMARC, MX, BIMI, MTA-STS, et un CNAME de domaine de tracking. Syntaxe concrète pour Cloudflare et Route53, l'ordre de publication, et ce que fait réellement chaque enregistrement.

§1

Les sept enregistrements, dans l'ordre de publication

L'email a ceci d'inhabituel qu'une configuration d'expéditeur complète comporte sept enregistrements DNS distincts répartis sur trois ou quatre types d'enregistrements. Loupez-en un et le câble continue de faire passer les messages, mais les fournisseurs de messagerie vous déclasseront silencieusement vers le dossier spam. Publiez les sept et vous franchissez le seuil « tout ce que Google demande » du /guide/email-deliverability.

L'ordre compte : SPF et DKIM doivent être posés avant que DMARC ne commence à imposer l'alignement, sinon du courrier légitime part en quarantaine. La règle en vigueur chez tous les fournisseurs est aussi « attendez la propagation DNS » — laissez au moins 30 minutes entre la publication d'un enregistrement et la demande de re-vérification au fournisseur de messagerie.

#EnregistrementRôleSpec
1MXOù va le courrier entrant pour ce domaineRFC 1035 §3.3.9
2SPF (TXT)IPs d'envoi autorisésRFC 7208
3DKIM (TXT)Clé publique de signatureRFC 6376
4DMARC (TXT)Politique en cas d'échec d'auth + reportingRFC 7489
5Tracking (CNAME)Trackers de clic et d'ouverture sous votre domaineRFC 1035
6MTA-STSForce TLS sur le mail entrantRFC 8461
7BIMI (TXT)Logo de marque à côté des messages dans la boîtedraft-blank-ietf-bimi

§2

1) MX — même si vous ne recevez guère de courrier

Les enregistrements MX (RFC 1035 §3.3.9) indiquent au monde où livrer le courrier entrant pour votre domaine. Même si votre domaine d'envoi est « outbound only » (vous ne lisez pas les réponses dessus), un enregistrement MX reste exigé — de nombreux fournisseurs de messagerie dégradent la réputation des domaines sans MX, en partant du principe que les expéditeurs légitimes acceptent les réponses. Un seul enregistrement pointant sur n'importe quel serveur de mail joignable suffit, même si ce serveur ne livre que vers une boîte postmaster.

; UI DNS Cloudflare
Type : MX  Nom : @  Serveur mail : mail.yourcompany.com  Priorité : 10
# JSON Route53
{ "Type": "MX", "Name": "yourcompany.com.", "TTL": 3600,
  "ResourceRecords": [{ "Value": "10 mail.yourcompany.com." }] }

§3

2) SPF — un seul TXT, surveillez le compte de lookups

SPF (RFC 7208) est un unique enregistrement TXT qui liste les IPs autorisés à envoyer pour le domaine. Règle dure : le total des lookups DNS récursifs doit rester sous 10 (RFC 7208 §4.6.4). Chaque include: en consomme un ; les includes imbriqués comptent cumulativement. Les mécanismes ip4: / ip6: coûtent zéro lookup, donc rabattez les anciens includes en plages IP explicites si votre compteur grimpe.

# Pour Amazon SES (appairage recommandé)
Type : TXT  Nom : @  Valeur : v=spf1 include:amazonses.com -all
# Pour Postal/Postfix auto-hébergé sur un seul IP
Type : TXT  Nom : @  Valeur : v=spf1 ip4:1.2.3.4 -all

Terminez par -all (hard-fail) une fois que vous avez vérifié que toutes les sources d'envoi légitimes sont couvertes. Si vous n'êtes pas encore sûr, démarrez en ~all (soft-fail) et resserrez en -all après deux semaines de rapports DMARC propres.

§4

3) DKIM — vendor-managed pour SES, custom pour Postal

DKIM (RFC 6376) publie la moitié publique d'une paire de clés de signature comme enregistrement TXT à {selector}._domainkey.{domain}. Le « selector » est un identifiant que vous choisissez — spécifique au vendor ou arbitraire. Pour SES, AWS vous donne trois CNAMEs qui résolvent vers des enregistrements TXT gérés par AWS (afin qu'AWS puisse faire tourner les clés sans que vous touchiez au DNS) :

# SES Easy DKIM — 3 CNAMEs (AWS fait tourner les clés via ceux-ci)
Type : CNAME  Nom : token1._domainkey  Valeur : token1.dkim.amazonses.com
Type : CNAME  Nom : token2._domainkey  Valeur : token2.dkim.amazonses.com
Type : CNAME  Nom : token3._domainkey  Valeur : token3.dkim.amazonses.com

Pour Postal auto-hébergé ou Postfix+OpenDKIM, vous générez la paire de clés localement, configurez le MTA pour signer, et publiez la moitié publique en TXT :

# Générer via openssl, puis publier la moitié .txt
Type : TXT  Nom : s1._domainkey  Valeur : v=DKIM1; k=rsa; p=MIGfMA0G…

Quel que soit le chemin pris, vérifiez avec dig TXT {selector}._domainkey.{domain} avant de déclarer DKIM terminé.

§5

4) DMARC — démarrer à p=none, finir à p=reject

DMARC (RFC 7489) se place à _dmarc.{domain}. Sauter la rampe en p=none est l'erreur la plus fréquente — passer direct à p=reject sur un domaine dont vous ne maîtrisez pas encore tous les flux de mail rejettera silencieusement du courrier légitime (forwarders, mailing lists, expéditeurs CRM tiers).

# Étape 1 (semaines 1-3) — observation seule
Type : TXT  Nom : _dmarc  Valeur : v=DMARC1; p=none; rua=mailto:dmarc@yourcompany.com; pct=100; adkim=r; aspf=r
# Étape 2 (semaines 4-5) — application partielle
Type : TXT  Nom : _dmarc  Valeur : v=DMARC1; p=quarantine; pct=10; rua=mailto:dmarc@yourcompany.com
# Étape 3 (semaine 6+) — application complète
Type : TXT  Nom : _dmarc  Valeur : v=DMARC1; p=reject; pct=100; rua=mailto:dmarc@yourcompany.com

Lisez les rapports agrégés XML quotidiens qui atterrissent dans votre boîte rua entre les étapes. Des outils comme le DMARC analyzer de Postmark ou Parsedmarc auto-hébergé les visualisent ; le XML brut est dense mais lisible.

§6

5) CNAME de domaine de tracking — préserver la confiance

Par défaut, le pixel d'ouverture et les URLs de tracking de clic AcelleMail viennent du domaine primaire de votre installation. Les fournisseurs de messagerie aiment voir des domaines racine cohérents entre le From, les clics de liens et l'URL de désabonnement — tous sur le même domaine enregistré. Côté image de marque, des liens pointant sur tracker.yourcompany.com envoient aussi un meilleur signal de confiance que des liens vers links.acellemail.com.

# CNAME de sous-domaine de tracking → installation AcelleMail
Type : CNAME  Nom : track  Valeur : app.yourcompany.com

# Puis dans l'admin AcelleMail : Paramètres → Tracking domain
# Mettre : track.yourcompany.com

Une fois le CNAME résolu, AcelleMail réécrit toutes les URLs de tracking de clic dans les messages sortants pour l'utiliser. Le domaine du lien de désabonnement suit la même règle (et le même CNAME).

§7

6) MTA-STS — forcer le TLS entrant

MTA-STS (RFC 8461) dit aux autres expéditeurs « exigez toujours TLS en livrant vers mon MX ». Sans cela, un attaquant sur le chemin peut rétrograder un handshake TLS-capable en cleartext. Avec, le serveur d'envoi refuse de livrer si TLS ne peut être établi. L'implémentation, c'est un TXT qui pointe sur un fichier de politique hébergé :

# Enregistrement DNS
Type : TXT  Nom : _mta-sts  Valeur : v=STSv1; id=20260508T120000;

# Fichier de politique hébergé à https://mta-sts.yourcompany.com/.well-known/mta-sts.txt
version: STSv1
mode: enforce
mx: mail.yourcompany.com
max_age: 604800

Faites tourner la politique en mode: testing la première semaine, puis basculez en mode: enforce. Beaucoup d'expéditeurs bulk zappent MTA-STS — le déployer est un signal de confiance gratuit.

§8

7) BIMI — logo de marque à côté des messages

BIMI (Brand Indicators for Message Identification) est le plus jeune des sept et le seul qui ne soit pas encore une RFC finalisée, mais il est supporté par Gmail, Yahoo, Apple Mail, Fastmail et d'autres clients en production. Le deal : publier un TXT pointant sur un logo SVG et (en option) un Verified Mark Certificate (VMC), et les clients qui le supportent affichent le logo à côté de vos messages dans la liste de la boîte de réception.

# Sans VMC (gratuit, couverture moindre)
Type : TXT  Nom : default._bimi  Valeur : v=BIMI1; l=https://yourcompany.com/bimi-logo.svg

# Avec VMC (payant, couverture Gmail complète)
Type : TXT  Nom : default._bimi  Valeur : v=BIMI1; l=https://yourcompany.com/bimi-logo.svg; a=https://yourcompany.com/bimi-cert.pem

Préconditions : une politique DMARC d'au moins p=quarantine (BIMI n'est pas honoré sous p=none), et le SVG doit être SVG Tiny Portable / Secure (SVG-PS). L'acceptation varie : Gmail exige un VMC payant (1 500 $/an via DigiCert / Entrust) pour l'affichage complet en liste de boîte ; Yahoo et Apple acceptent BIMI sans VMC. Des hausses de taux d'ouverture de 5-20 % sont fréquemment rapportées dans les études de cas publiées.

§9

Vérifier toute la chaîne en 30 secondes

Après publication, envoyez-vous un test et inspectez les en-têtes. Gmail web : ouvrez le message, cliquez sur le menu trois-points, « Afficher l'original ». Cherchez :

Authentication-Results: mx.google.com;
  dkim=pass header.i=@yourcompany.com header.s=token1
  spf=pass smtp.mailfrom=yourcompany.com
  dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=yourcompany.com

Trois verdicts pass : c'est la barre. Tout en dessous — fail, softfail, neutral — signifie qu'un enregistrement est faux, que le DNS n'a pas encore propagé, ou que le corps du mail est modifié en transit (rare). Recoupez avec la spec canonique de l'en-tête Authentication-Results (RFC 8601) si un verdict est ambigu.

Exécutez-le sur votre propre infrastructure.

AcelleMail est une plateforme email auto-hébergée à licence unique. Code source complet, aucune tarification à l'abonné.

Essayer la démo en direct