En un coup d'œil. Type d'enregistrement : TXT, un par domaine · Commence par : v=spf1 · Lecture : de gauche à droite, la première correspondance l'emporte · Limite de requêtes : 10 requêtes DNS
La version courte
- Comment un enregistrement est lu. Un enregistrement SPF est une seule ligne de texte publiée sous forme d'enregistrement TXT.
- Qualificateurs. Un qualificateur est un seul caractère placé directement devant un mécanisme.
- Mécanismes sans requête DNS. Les mécanismes ip4 et ip6 correspondent à une adresse littérale ou à une plage écrite en notation CIDR.
- Mécanismes qui coûtent une requête DNS. Le mécanisme include demande au destinataire d'évaluer l'enregistrement SPF d'un autre domaine et de correspondre si cet enregistrement réussit.
- Modificateurs : redirect et exp. Un modificateur s'écrit nom=valeur et n'est pas un test de l'adresse expéditrice.
- Limites de longueur et de format. Chaque chaîne d'un enregistrement TXT peut contenir au maximum 255 caractères.
Comment un enregistrement est lu
Un enregistrement SPF est une seule ligne de texte publiée sous forme d'enregistrement TXT. Il doit commencer par la balise de version v=spf1, suivie d'une liste de termes séparés par des espaces. Un serveur de réception évalue les termes de gauche à droite par rapport à l'adresse IP qui s'est connectée, et le premier terme qui correspond détermine le résultat.
v=spf1 ip4:203.0.113.10 include:_spf.example.net ~all
Si aucun terme ne correspond et qu'il n'y a pas de redirect, le résultat est neutre. C'est pourquoi la plupart des enregistrements se terminent par un terme all : il correspond à tout, de sorte que le dernier mot dit toujours quoi faire d'un serveur absent de la liste.
Qualificateurs
Un qualificateur est un seul caractère placé directement devant un mécanisme. Il définit le résultat lorsque ce mécanisme correspond. Sans qualificateur, le plus est supposé ; mx et +mx signifient donc la même chose.
-all fail: not authorised
~all softfail: probably not authorised
?all neutral: no opinion
+all pass: everyone is authorised (never use this)
Les quatre résultats sont réussite (plus), échec (moins), échec souple (tilde) et neutre (point d'interrogation). Les destinataires traitent généralement l'échec et l'échec souple comme un signal négatif plutôt que comme une instruction de rejet, et c'est DMARC qui décide du sort d'un message en échec.
Mécanismes sans requête DNS
Les mécanismes ip4 et ip6 correspondent à une adresse littérale ou à une plage écrite en notation CIDR. Ce sont les éléments les moins coûteux d'un enregistrement, car le destinataire n'a rien à interroger, et le choix le plus sûr lorsqu'un fournisseur publie des adresses d'envoi fixes.
ip4:203.0.113.0/24
ip6:2001:db8::/32
all
Le mécanisme all correspond à toutes les adresses. Sa place est à la fin. Les termes écrits après lui ne sont jamais atteints.
Mécanismes qui coûtent une requête DNS
Le mécanisme include demande au destinataire d'évaluer l'enregistrement SPF d'un autre domaine et de correspondre si cet enregistrement réussit. Le mécanisme a correspond aux enregistrements d'adresse d'un domaine, et mx aux adresses de ses serveurs de messagerie. Les deux prennent par défaut le domaine vérifié, et acceptent tous deux un domaine et une longueur CIDR. Le mécanisme exists correspond si un nom se résout, et ptr correspond par DNS inverse.
include:_spf.example.net
a
a:mail.example.com/24
mx
exists:%{i}._spf.example.com
Chacun de include, a, mx, ptr et exists, ainsi que le modificateur redirect, compte dans la limite de dix requêtes DNS, et les include imbriqués comptent aussi. La norme plafonne en outre le mécanisme mx à dix serveurs de messagerie. La norme déconseille ptr car il est lent et peu fiable ; évitez-le.
Modificateurs : redirect et exp
Un modificateur s'écrit nom=valeur et n'est pas un test de l'adresse expéditrice. Le modificateur redirect dit : ignorez le reste de cet enregistrement et utilisez à la place celui d'un autre domaine. Il n'est consulté que si aucun mécanisme n'a correspondu, et un enregistrement qui comporte un terme all ne l'atteint jamais.
v=spf1 redirect=_spf.example.net
Le modificateur exp désigne un domaine dont l'enregistrement TXT contient une chaîne d'explication que les destinataires peuvent afficher lorsque SPF échoue. La plupart des domaines ne l'utilisent jamais. Chaque nom ne peut apparaître qu'une fois dans un enregistrement.
Limites de longueur et de format
Chaque chaîne d'un enregistrement TXT peut contenir au maximum 255 caractères. Un enregistrement plus long est stocké en plusieurs chaînes que les destinataires assemblent, et la plupart des panneaux DNS découpent une longue valeur pour vous. Un enregistrement très long peut aussi dépasser la taille d'une réponse DNS normale, ce qui est une raison de plus de garder la liste courte.
Les termes sont séparés par un ou plusieurs espaces et ne sont pas sensibles à la casse. Gardez l'enregistrement dans un seul enregistrement TXT : un domaine avec deux enregistrements SPF obtient une erreur permanente.
Erreurs de syntaxe qui cassent un enregistrement
La plupart des échecs viennent d'une poignée d'étourderies : un v=spf1 manquant, un include sans domaine, un mécanisme mal orthographié comme inlcude, une adresse comportant une faute comme ip4:203.0.113.300, ou un caractère parasite issu d'un copier-coller. N'importe laquelle rend l'enregistrement entier invalide et le résultat est une erreur permanente.
Testez avant de publier. Notre vérificateur SPF lit un enregistrement collé, signale chaque problème et compte les requêtes DNS, pour que vous corrigiez un enregistrement avant sa mise en ligne.
Pour aller plus loin et sources
Faites-le dans MigoSMTP : articles du centre d'aide
- Corriger l'erreur permanente SPF et la limite de 10 requêtes
- Authentifier un domaine d'envoi dans MigoSMTP : SPF, DKIM et DMARC
- Vérifier votre domaine d'envoi : enregistrements DNS et propagation
Guides et outils associés
- Vérificateur d'enregistrement SPF : collez un enregistrement ou vérifiez un domaine.
- Générateur d'enregistrement SPF : construisez un enregistrement qui reste sous la limite.
- Comment créer un enregistrement SPF : le guide pas à pas.
- Exemples d'enregistrements SPF : Workspace, Microsoft 365 et plus.
Vous n'êtes pas sûr de vos enregistrements ? Lancez notre vérificateur gratuit, ou envoyez-nous un en-tête et nous vous aiderons à le lire.
Questions fréquentes
Quelle est la syntaxe d'un enregistrement SPF ?
Un enregistrement SPF est un enregistrement TXT unique qui commence par v=spf1, suivi de termes lus de gauche à droite, et se termine généralement par un terme all. Chaque terme est un mécanisme tel que ip4, include, a ou mx, éventuellement précédé d'un qualificateur qui définit le résultat.
Que signifient le plus, le moins, le tilde et le point d'interrogation dans SPF ?
Ce sont des qualificateurs. Le plus signifie réussite et c'est la valeur par défaut, le moins signifie échec, le tilde signifie échec souple (softfail) et le point d'interrogation signifie neutre. Ils se placent directement devant un mécanisme, par exemple -all ou ~all.
Quels mécanismes SPF comptent dans la limite de 10 requêtes ?
Les mécanismes include, a, mx, ptr et exists ainsi que le modificateur redirect comptent chacun. Les mécanismes ip4, ip6 et all n'exigent aucune requête DNS, donc ne comptent pas.
Que deviennent les termes écrits après le mécanisme all ?
Ils ne sont jamais évalués, car l'évaluation s'arrête au premier terme qui correspond et all correspond à tout. Placez all en dernier.