Comprendre les mécanismes SPF : a, mx, ip4 et include
Quick Answer
SPF définit 8 mécanismes dans la RFC 7208 §5 : all, include, a, mx, ptr, ip4, ip6 et exists. Les quatre les plus utilisés sont : ip4 (autorise une adresse ou une plage IPv4 précise, 0 requête), a (autorise les enregistrements A/AAAA du domaine, 1 requête), mx (autorise les enregistrements MX du domaine et leurs enregistrements A, jusqu'à 10 requêtes dans le pire des cas) et include (délègue l'évaluation à l'enregistrement SPF d'un autre domaine, 1 requête plus les requêtes imbriquées).
Comprendre les mécanismes SPF : a, mx, ip4 et include
SPF définit 8 mécanismes dans la RFC 7208 §5 : all, include, a, mx, ptr, ip4, ip6 et exists. Les quatre que vous utiliserez dans 95 % des cas sont ip4 (autorise une adresse IPv4 ou une plage CIDR précise), a (autorise les enregistrements A/AAAA du domaine), mx (autorise les enregistrements MX du domaine) et include (délègue l’évaluation à l’enregistrement SPF d’un autre domaine).
« La syntaxe SPF est trompeusement simple », déclare Adam Lundrigan, directeur technique de DuoCircle. « v=spf1 suivi de mécanismes et d’un qualificateur semble simple, mais la sémantique d’évaluation est étonnamment complexe : l’ordre des mécanismes est déterminant, la première correspondance l’emporte, et la différence entre ~all et -all a de véritables conséquences sur la délivrabilité. Chaque semaine, nous voyons des enregistrements où un mécanisme mal placé remplace silencieusement la politique voulue. »
Pour un examen approfondi de chaque mécanisme, qualificateur et modificateur SPF, consultez notre guide complet de la syntaxe des enregistrements SPF.
Chaque mécanisme a un coût de requête DNS précis qui est décompté de la limite de 10 requêtes de la RFC 7208 :
ip4/ip6– 0 requête (IP littérale, aucun DNS nécessaire)a– 1 requêtemx– 1 requête plus 1 par hôte MX renvoyé (peut épuiser silencieusement le budget sur les domaines comptant de nombreux MX)include– 1 requête plus tout ce que l’enregistrement SPF inclus consomme de manière récursiveexists– 1 requêteptr– 1 requête ou plus (et la RFC 7208 §5.5 recommande explicitement de NE PAS l’utiliser)
Ce guide passe en revue chacun des quatre mécanismes couramment utilisés avec leur syntaxe exacte, les cas particuliers (enregistrements A à plusieurs IP, hôtes MX comportant de nombreux enregistrements A, includes récursifs) et la manière de choisir entre a/mx/ip4/include lorsque vous disposez de plusieurs options pour le même ensemble d’IP d’envoi. Si l’entretien manuel vous semble fastidieux, découvrez le fonctionnement d’AutoSPF pour l’automatiser.
Le mécanisme « a »
Le mécanisme « a » dans SPF indique aux serveurs de messagerie destinataires que si l’enregistrement A ou AAAA d’un domaine donné pointe vers l’adresse IP qui envoie le courriel, celui-ci doit être considéré comme légitime.
En clair, si un courriel provient d’une IP figurant dans les enregistrements A (ip4) ou AAAA (ip6) du domaine, et que vous avez inclus le mécanisme « a », alors SPF est validé.
Par exemple : v=spf1 a -all
Quand devez-vous utiliser le mécanisme « a » ?
Utilisez-le lorsque :
-
Votre serveur de messagerie partage la même adresse IP que votre domaine (par exemple, le site web et le serveur de messagerie hébergés sur le même serveur).
-
Vous disposez d’une configuration simple et de petite taille, et votre IP d’envoi est directement liée à l’enregistrement A/AAAA de votre domaine.
-
Vous êtes certain que l’enregistrement A du domaine reflétera toujours l’IP de votre serveur de messagerie (c’est essentiel).

Quand devez-vous éviter le mécanisme « a » ?
Évitez d’utiliser le mécanisme « a » lorsque :
-
Vous ne savez pas ou ne contrôlez pas vers quoi pointe l’enregistrement A (par exemple, si vous utilisez un hébergement tiers ou des CDN).
-
Votre site web et votre serveur de messagerie sont hébergés séparément sur des adresses IP différentes.
-
Vous souhaitez que votre enregistrement SPF soit explicite et facile à maintenir, en utilisant « ip4 » ou « include » pour plus de clarté.
De plus, si l’enregistrement A de votre domaine change un jour (par exemple lors d’une migration de serveur), vous risquez de casser par inadvertance SPF pour vos courriels sortants sans vous en rendre compte.
Le mécanisme « mx »
Dans SPF, le mécanisme « mx » indique aux serveurs destinataires qu’il autorise tout serveur figurant dans l’enregistrement MX du domaine émetteur à envoyer des courriels au nom du propriétaire du domaine. Il résout essentiellement l’enregistrement MX du domaine pour obtenir les noms d’hôte. Il résout ensuite les noms d’hôte en adresses IP. Si l’adresse IP de l’expéditeur de votre courriel correspond à l’une des adresses IP répertoriées, la vérification SPF est validée.

Quand devez-vous utiliser le mécanisme « mx » ?
Utilisez le mécanisme « mx » si vos courriels sont envoyés via les mêmes serveurs de messagerie que ceux qui reçoivent les courriels de votre domaine, c’est-à-dire si vos serveurs de messagerie entrant et sortant sont les mêmes.
Cas courants :
-
Vous utilisez le service de messagerie de votre hébergeur web ou de votre fournisseur de domaine (comme la messagerie de GoDaddy ou de Bluehost).
-
Vous disposez d’un serveur de messagerie sur site (comme Microsoft Exchange) qui gère à la fois le courrier entrant et sortant.
-
Votre entreprise utilise une configuration où le même fournisseur gère à la fois les flux de courrier entrant et sortant.

Quand devez-vous éviter le mécanisme « mx » ?
Il n’est pas idéal d’utiliser le mécanisme « mx » si vos courriels sortants ne passent pas par vos serveurs MX. Voici les cas où cela se produit fréquemment :
-
Vous utilisez un service d’envoi de courriels tiers (comme Mailchimp, Google Workspace, Zoho, Salesforce, etc.).
-
Votre domaine reçoit les courriels via un serveur (MX) mais les envoie via un autre (relais SMTP ou expéditeur basé sur une API).
-
Vous n’êtes pas sûr de ce vers quoi pointent réellement vos enregistrements MX.
Veuillez noter que si vous utilisez le mécanisme « mx », vos enregistrements MX doivent être bien à jour. Vérifiez également régulièrement les IP vers lesquelles ils se résolvent, car certains services les font tourner fréquemment ou utilisent des CDN ou des répartiteurs de charge. Il existe donc un risque d’enregistrement MX cassé.
Le mécanisme « ip4 »
Le mécanisme « ip4 » est utilisé pour autoriser explicitement une adresse IPv4 (ou une plage) à envoyer des courriels au nom de votre domaine.
Exemple :
v=spf1 ip4:192.0.2.0/24 -all
Cela indique aux serveurs de messagerie : « Hé, si un courriel provient d’une IP quelconque de la plage 192.0.2.0/24, il est légitime pour ce domaine. »

Quand devez-vous utiliser le mécanisme « ip4 » ?
Le mécanisme « ip4 » est idéal lorsque :
-
Vous gérez votre propre serveur de messagerie et en connaissez l’IP.
-
Vous utilisez un service (comme un hébergeur web ou un outil CRM) qui vous fournit une IP d’envoi fixe.
-
Vous souhaitez inscrire manuellement sur liste d’autorisation des IP connues et statiques plutôt que d’utiliser le mécanisme include.
-
Vous devez autoriser sur mesure un expéditeur tiers non couvert par un « include » SPF connu.
Avantage supplémentaire, il permet également d’éviter des requêtes DNS supplémentaires.
Quand devez-vous éviter le mécanisme « ip4 » ?
Il vaut mieux rester prudent :
-
Si l’adresse IP est dynamique ou change fréquemment, car SPF ne se met pas à jour automatiquement, vous pourriez casser la délivrabilité des courriels.
-
Lorsque vous utilisez de grandes plateformes tierces comme Google Workspace ou Mailchimp, celles-ci fournissent déjà des enregistrements « include ».
Notez également qu’ajouter plusieurs entrées « ip4 » dans un seul enregistrement peut rendre votre enregistrement SPF trop long et plus difficile à gérer.

Le mécanisme « include »
Le mécanisme « include » vous permet d’autoriser d’autres domaines à envoyer des courriels en votre nom.
Quand devez-vous utiliser le mécanisme « include » ?
Utilisez-le lorsqu’un service tiers envoie des courriels en utilisant votre domaine. Cela inclut :
-
Les plateformes d’email marketing (Mailchimp, SendGrid, Klaviyo, etc.)
-
Les services de courriels transactionnels (Amazon SES, Postmark, etc.)
-
Les outils CRM ou les services d’assistance (HubSpot, Intercom, Freshdesk)
-
Les services de sécurité (comme Proofpoint ou Mimecast, s’ils gèrent le courrier sortant)
Quand devez-vous éviter le mécanisme « include » ?
Vous n’êtes pas obligé d’éviter le mécanisme « include » ; tenez toutefois compte de ces points afin de ne pas en abuser :
-
Chaque « include » s’ajoute à votre limite de 10 requêtes DNS, et son dépassement déclenche une erreur de trop de requêtes DNS.
-
Les instructions « include » imbriquées provenant d’autres domaines peuvent dépasser silencieusement la limite.
-
N’incluez jamais de domaines que vous ne contrôlez pas entièrement ou auxquels vous ne faites pas confiance.
Si vous avez utilisé trop d’instructions « include » et que votre enregistrement SPF a déjà dépassé la limite de requêtes DNS, utilisez alors notre outil automatique de SPF flattening. Il les remplacera par les adresses IP, ce qui réduit le besoin de requêtes. Vous vous demandez quelle approche convient à votre domaine ? Lisez notre avis sur les macros par rapport au flattening. Contactez-nous pour en savoir plus sur l’outil ou pour obtenir de l’aide sur d’autres problèmes liés à SPF.
CTO
CTO of DuoCircle. Architect of AutoSPF's SPF flattening engine and DNS monitoring infrastructure.
LinkedIn Profile →