Aide-mémoire Sécurité

Aide-mémoire de la syntaxe SPF, DKIM et DMARC

Syntaxe des enregistrements : mécanismes et qualificateurs SPF, balises de signature et de clé DKIM (RFC 6376) et balises DMARC (RFC 7489 et RFC 9989), avec des exemples.

Dernière vérification :

AdSense Placeholder
Slot: header_reference_page
Sur cette page

Les trois résident dans le DNS sous forme d'enregistrements TXT. SPF liste les serveurs autorisés à envoyer du courrier pour un domaine, DKIM publie la clé publique qui vérifie les signatures des messages, et DMARC indique aux destinataires quoi faire quand aucun des deux n'est satisfait en alignement avec le domaine visible de From:. Le contexte se trouve dans L'authentification e-mail : SPF, DKIM et DMARC ; les tableaux ci-dessous suivent la RFC 7208 (SPF), la RFC 6376 (DKIM) et la RFC 7489 avec sa successeure de mai 2026, la RFC 9989 (DMARC). Les exemples utilisent example.com et des adresses de documentation.

Où réside chaque enregistrement

Enregistrement Nom DNS Valeur d'exemple
SPF le domaine lui-même : example.com v=spf1 mx include:_spf.example.net -all
Clé DKIM <selector>._domainkey.example.com v=DKIM1; k=rsa; p=MIIBIjANBgkq...
DMARC _dmarc.example.com v=DMARC1; p=quarantine; rua=mailto:[email protected]

Mécanismes SPF (RFC 7208)

Mécanisme Correspond quand l'IP émettrice... Requête DNS ? Exemple
ip4 figure dans l'adresse ou la plage IPv4 Non ip4:192.0.2.0/24
ip6 figure dans l'adresse ou la plage IPv6 Non ip6:2001:db8::/32
a est une adresse A/AAAA du domaine (ou de celui indiqué) Oui a, a:mail.example.com
mx est une adresse de l'un des hôtes MX du domaine Oui mx, mx:example.net
include satisfait l'enregistrement SPF d'un autre domaine Oui include:_spf.example.net
exists fait résoudre le nom indiqué (macros développées) vers n'importe quel enregistrement A Oui exists:%{i}._spf.example.com
ptr se résout à l'envers vers le domaine (lent ; la RFC déconseille de l'utiliser) Oui ptr
all correspond toujours ; se place en dernier Non -all
Modificateur Signification Exemple
redirect= Utilise l'enregistrement SPF d'un autre domaine quand rien d'autre n'a correspondu redirect=_spf.example.com
exp= Nom d'un enregistrement TXT contenant l'explication du rejet exp=explain._spf.example.com

Qualificateurs et résultats SPF

Qualificateur Résultat Signification
+ (par défaut) pass Expéditeur autorisé
- fail Non autorisé : rejeter
~ softfail Probablement non autorisé : accepter mais marquer
? neutral Aucune déclaration

Autres résultats : none (pas d'enregistrement SPF), temperror (délai DNS dépassé ; réessayer plus tard) et permerror (enregistrement défectueux, par exemple deux enregistrements v=spf1 ou trop de requêtes).

Limites : au plus 10 mécanismes et modificateurs provoquant des requêtes DNS (include, a, mx, ptr, exists, redirect) par vérification, en comptant les include imbriqués ; ip4, ip6 et all ne comptent pas. Au plus 2 requêtes peuvent ne rien renvoyer (« requêtes vides »). Le générateur d'enregistrements SPF compte les requêtes pour vous.

Macros (utilisées dans exists et exp) : %{s} expéditeur, %{l} partie locale, %{o} domaine de l'expéditeur, %{d} domaine courant, %{i} IP du client, %{h} nom HELO, %{v} in-addr ou ip6, %{p} nom validé de l'IP (à éviter).

Balises de l'en-tête DKIM-Signature (RFC 6376)

Balise Obligatoire ? Signification Exemple
v Obligatoire Version v=1
a Obligatoire Algorithme a=rsa-sha256 (aussi ed25519-sha256, RFC 8463)
d Obligatoire Domaine signataire (SDID) d=example.com
s Obligatoire Sélecteur ; la clé se trouve à s._domainkey.d s=mail2026
h Obligatoire Champs d'en-tête signés, séparés par deux-points h=from:to:subject:date
bh Obligatoire Condensé du corps canonisé (base64) bh=47DEQpj8HBSa+/...
b Obligatoire La signature elle-même (base64) b=dzdVyOfAKCdLXdJO...
c Facultative Canonisation en-tête/corps ; par défaut simple/simple c=relaxed/relaxed
i Facultative Identifiant d'agent ou d'utilisateur (AUID) ; par défaut @d [email protected]
l Facultative Longueur du corps signée (risqué : permet d'ajouter du contenu) l=1024
q Facultative Méthode de requête de la clé ; par défaut dns/txt q=dns/txt
t Recommandée Heure de signature, en secondes Unix t=1791600000
x Recommandée Heure d'expiration, en secondes Unix ; doit être postérieure à t x=1792204800
z Facultative Champs d'en-tête copiés, pour le diagnostic z=From:...

La RFC 8301 a retiré rsa-sha1 : les signataires ne doivent pas l'utiliser, et les clés RSA doivent faire au moins 1024 bits (2048 recommandés).

Balises de l'enregistrement de clé DKIM (RFC 6376)

Balise Obligatoire ? Signification Exemple
v Recommandée Version ; doit venir en premier si présente v=DKIM1
k Facultative Type de clé ; par défaut rsa k=ed25519
p Obligatoire Clé publique (base64) ; vide signifie que la clé est révoquée p=MIIBIjANBgkq...
h Facultative Algorithmes de hachage acceptés ; par défaut tous h=sha256
s Facultative Type de service ; par défaut * s=email
t Facultative Indicateurs : y test, s strict (le domaine de i= doit être égal à d=) t=s
n Facultative Notes pour les humains n=rotated 2026-10

Une chaîne TXT contient au plus 255 caractères ; une clé de 2048 bits est donc publiée en plusieurs chaînes entre guillemets au sein d'un même enregistrement, que les résolveurs concatènent. Générez les clés et l'enregistrement avec le générateur d'enregistrements DKIM.

Balises DMARC

Balise Signification Valeurs et valeur par défaut RFC 7489 RFC 9989
v Version, doit venir en premier DMARC1 Obligatoire Obligatoire
p Politique du domaine none, quarantine, reject Obligatoire Recommandée (absente = none)
sp Politique des sous-domaines mêmes valeurs ; par défaut p Oui Oui
np Politique des sous-domaines inexistants mêmes valeurs ; par défaut sp, puis p (RFC 9091) Oui
adkim Alignement DKIM r souple (par défaut), s strict Oui Oui
aspf Alignement SPF r souple (par défaut), s strict Oui Oui
rua Adresses des rapports agrégés URI mailto:, séparés par des virgules Oui Oui
ruf Adresses des rapports d'échec URI mailto: Oui Oui
fo Quand envoyer les rapports d'échec 0 (par défaut), 1, d, s, séparés par deux-points Oui Oui
pct Pourcentage du courrier en échec auquel la politique s'applique 0 à 100, par défaut 100 Oui Supprimée
t Mode test : appliquer un niveau en dessous de p y, n (par défaut) Non Oui
psd Marque un domaine de suffixe public y, n, u (par défaut) Non Oui
rf Format des rapports d'échec afrf (par défaut) Oui Supprimée
ri Intervalle des rapports agrégés en secondes 86400 (par défaut) Oui Supprimée

Les destinataires rencontrent encore les deux générations ; pct=100 et t=n correspondent au comportement par défaut, donc un enregistrement sans l'une ni l'autre est interprété de la même façon partout.

Exemples d'enregistrements

Objectif Enregistrement
Domaine qui n'envoie aucun courrier SPF v=spf1 -all, DMARC v=DMARC1; p=reject; sp=reject
Serveurs propres plus un prestataire v=spf1 mx ip4:192.0.2.25 include:_spf.example.net -all
Première étape DMARC : surveiller v=DMARC1; p=none; rua=mailto:[email protected]
Appliquer strictement, rapport quotidien v=DMARC1; p=reject; adkim=s; aspf=s; rua=mailto:[email protected]
Clé DKIM Ed25519 v=DKIM1; k=ed25519; p=<32-byte key in base64>

Vérifiez ce qu'un domaine publie avec la recherche d'enregistrements DNS ou le vérificateur de délivrabilité des courriels, et voyez comment un message reçu s'en est sorti dans son en-tête Authentication-Results avec l'analyseur d'en-têtes de courriel.

Essayez ces outils

Voir aussi

  • Guide L'authentification e-mail : SPF, DKIM et DMARC
    Ce que vérifient SPF, DKIM et DMARC, à quoi ressemblent leurs enregistrements DNS.
  • Glossaire SPF
    Le SPF (Sender Policy Framework) est un enregistrement DNS qui liste les serveurs autorisés à envoyer du courrier pour un domaine.
  • Glossaire DKIM
    Le DKIM (DomainKeys Identified Mail) ajoute une signature numérique au courrier sortant que les destinataires vérifient avec une clé.
  • Glossaire DMARC
    Le DMARC est une politique DNS qui indique aux destinataires que faire du courrier qui échoue à l'alignement SPF et DKIM.
  • Aide-mémoire Aide-mémoire des types d'enregistrements DNS
    Les types d'enregistrements DNS avec leur numéro, leur rôle et des exemples de fichier de zone, de A, AAAA, MX et TXT à SRV, CAA.

Questions fréquemment posées

Non. Deux enregistrements TXT v=spf1 sur le même nom donnent le résultat permerror. Fusionnez-les en un seul, avec un include: par service d'envoi.

AdSense Placeholder
Slot: footer_leaderboard