Aller au contenu principal

SPF Flattening vs SPF Macros : quelle approche choisir pour respecter la limite de 10 lookups ?

Par CaptainDNS
Publié le 3 mars 2026

Comparatif SPF Flattening vs SPF Macros avec diagrammes de fonctionnement et matrice de décision
TL;DR
  • Le SPF flattening résout tous les include: en adresses IP directes (ip4:/ip6:) pour atteindre 0 lookup, mais nécessite une maintenance mensuelle
  • Les SPF macros utilisent des variables dynamiques (%{i}, %{d}, %{s}) pour construire des enregistrements qui ne consomment que 1-2 lookups, sans maintenance
  • Le flattening est simple à mettre en œuvre et compatible avec tous les serveurs, les macros sont plus complexes mais offrent une scalabilité illimitée
  • Flattening recommandé pour les PME avec 3-5 providers email, macros recommandées pour les grandes organisations avec 10+ providers
  • Les deux approches sont conformes à la RFC 7208 et résolvent le dépassement de la limite de 10 lookups

Votre enregistrement SPF dépasse la limite de 10 DNS lookups et vous devez choisir une solution. Deux approches se distinguent : le SPF flattening, qui transforme vos include: en adresses IP directes, et les SPF macros, qui utilisent des variables dynamiques pour contourner la limite. Chacune a ses forces et ses limites.

Le flattening séduit par sa simplicité : vous résolvez tous les mécanismes en IP, publiez le résultat, et le problème est réglé. Mais les adresses IP de vos providers changent, ce qui impose une maintenance régulière. Les macros, elles, ne nécessitent aucune maintenance une fois configurées, mais leur mise en place est plus technique et leur compatibilité avec certains serveurs reste limitée.

Ce guide compare les deux approches en détail, avec des exemples concrets sur captaindns.com, un tableau comparatif critère par critère, et une matrice de décision pour identifier la meilleure solution selon votre situation.

Rappel : pourquoi la limite de 10 lookups pose problème ?

La RFC 7208 impose un maximum de 10 requêtes DNS lors de l'évaluation d'un enregistrement SPF. Chaque mécanisme include:, a, mx, redirect et exists consomme un lookup. Les mécanismes ip4: et ip6: n'en consomment pas car ils contiennent directement l'adresse IP.

Avec 3-4 providers email (Google Workspace, SendGrid, Mailchimp, Brevo), il est courant d'atteindre 10-14 lookups. Au-delà de 10, le serveur de réception retourne un permerror : votre SPF est considéré comme invalide et vos emails sont rejetés ou classés en spam.

Vérifiez votre nombre actuel de lookups avec notre SPF Record Check avant de choisir une solution.

Qu'est-ce que le SPF flattening ?

Le SPF flattening (aplatissement) consiste à résoudre tous les mécanismes qui génèrent des lookups DNS et à les remplacer par les adresses IP qu'ils retournent. Le résultat est un enregistrement SPF composé uniquement de ip4: et ip6:, qui ne consomment aucun lookup.

Comment fonctionne le processus ?

Le flattening suit un processus en 3 étapes :

  1. Résolution : chaque include:, a, mx et redirect est résolu récursivement pour obtenir les adresses IP finales
  2. Agrégation : toutes les IP sont rassemblées et les doublons supprimés
  3. Publication : un nouvel enregistrement SPF est généré avec uniquement des ip4: et ip6:

Processus de SPF flattening : résolution des includes en adresses IP directes en 3 étapes

Exemple concret

# Avant flattening : 9 lookups
v=spf1 include:_spf.google.com include:sendgrid.net include:servers.mcsv.net mx ~all

# Après flattening : 0 lookup
v=spf1 ip4:209.85.128.0/17 ip4:74.125.0.0/16 ip4:35.190.247.0/24 ip4:167.89.0.0/17 ip4:198.2.128.0/18 ip4:205.201.128.0/20 ip4:203.0.113.10 ip6:2607:f8b0:4000::/36 ~all

Avantages du flattening

  • Simplicité : aucune connaissance technique avancée requise
  • Compatibilité universelle : fonctionne avec tous les serveurs de réception sans exception
  • Résultat immédiat : le problème de lookups est résolu dès la publication
  • Vérification facile : chaque IP est visible et contrôlable

Limites du flattening

  • Maintenance obligatoire : les providers modifient leurs plages IP régulièrement (Google, Microsoft, SendGrid). Un SPF aplati avec des IP obsolètes rejettera les emails légitimes
  • Longueur du TXT record : un enregistrement DNS TXT est limité à 255 caractères par chaîne. Avec de nombreuses IP, il faut utiliser plusieurs chaînes concaténées, ce qui complexifie la gestion
  • Pas de mise à jour automatique : contrairement aux include:, les ip4: ne se mettent pas à jour quand le provider change ses IP

Qu'est-ce que les SPF macros ?

Les SPF macros sont des variables définies par la RFC 7208, section 7 qui sont remplacées dynamiquement lors de l'évaluation de l'enregistrement SPF. Elles permettent de construire des requêtes DNS conditionnelles basées sur les informations de l'expéditeur.

Les 3 macros principales

MacroSignificationExemple de valeur
%{i}Adresse IP de l'expéditeur203.0.113.10
%{d}Domaine de l'expéditeurcaptaindns.com
%{s}Adresse email complètecontact@captaindns.com

Comment fonctionne la résolution ?

Quand un serveur de réception évalue un SPF contenant des macros, il remplace chaque variable par sa valeur réelle avant d'effectuer la requête DNS.

Résolution des macros SPF : substitution dynamique des variables macro lors de l'évaluation

Exemple concret

# SPF avec macro %{i} : 1 seul lookup
v=spf1 exists:%{i}._spf.captaindns.com ~all

Le serveur de réception reçoit un email depuis l'IP 203.0.113.10. Il remplace %{i} par cette IP et vérifie si 203.0.113.10._spf.captaindns.com existe dans le DNS. Vous publiez un enregistrement A pour chaque IP autorisée :

203.0.113.10._spf.captaindns.com.  IN  A  127.0.0.1
167.89.55.22._spf.captaindns.com.  IN  A  127.0.0.1

Résultat : 1 seul lookup quel que soit le nombre de providers, car chaque évaluation ne teste qu'une seule IP.

Avantages des macros

  • Zéro maintenance SPF : les changements d'IP sont gérés côté DNS (ajout/suppression d'enregistrements A), pas dans le TXT record SPF lui-même
  • Scalabilité illimitée : 5 ou 500 providers, le SPF reste identique et compact
  • Un seul lookup : le mécanisme exists: ne consomme qu'un lookup, quel que soit le nombre d'IP autorisées
  • Record compact : le TXT SPF tient toujours en une seule ligne

Limites des macros

  • Complexité de configuration : publier un enregistrement A par IP autorisée demande une gestion DNS rigoureuse
  • Compatibilité variable : certains serveurs de réception anciens ne supportent pas correctement les macros SPF
  • Débogage plus difficile : en cas de problème, identifier quelle IP est autorisée ou non demande de vérifier les enregistrements A individuels
  • Dépendance DNS : toute la logique d'autorisation repose sur la présence d'enregistrements A dans votre zone DNS

Comparatif détaillé : flattening vs macros

CritèreSPF FlatteningSPF Macros
Complexité de mise en œuvreFaibleÉlevée
Maintenance requiseMensuelle (re-résolution des IP)Aucune sur le TXT SPF
Compatibilité serveursUniverselle (100%)Variable (95%+)
Lookups consommés01-2
Longueur du record SPFPeut être long (255+ car.)Compact (~50 car.)
ScalabilitéLimitée par la taille du TXTIllimitée
AutomatisationVia outil de flatteningVia gestion DNS
Risque principalIP obsolètes si pas de maintenanceServeurs incompatibles
Visibilité des IPToutes visibles dans le TXTDistribuées dans les enregistrements A
Temps de mise en place5-10 minutes30-60 minutes

Quelle approche choisir ?

Scénario 1 : PME avec 3-5 providers email

Recommandation : SPF flattening

Votre organisation utilise Google Workspace, un service de newsletter (Mailchimp ou Brevo) et un outil transactionnel (SendGrid). Le nombre d'IP à gérer est limité (20-50 adresses) et la fréquence de changement est faible.

Le flattening résout votre problème en quelques minutes. Une vérification mensuelle avec un outil dédié suffit à maintenir le record à jour. La simplicité de cette approche l'emporte sur les avantages de scalabilité des macros que vous n'utiliserez pas.

Scénario 2 : grande organisation avec 10+ providers

Recommandation : SPF macros

Votre organisation gère des dizaines de services email : messagerie interne, CRM, support, marketing, transactionnel, alertes système. Le nombre de providers dépasse ce qu'un record SPF aplati peut contenir sans dépasser la limite de 255 caractères par chaîne TXT.

Les macros offrent une scalabilité illimitée : votre SPF reste compact et identique quel que soit le nombre de providers ajoutés. L'investissement initial en configuration DNS est compensé par l'absence de maintenance du TXT record.

Scénario 3 : migration progressive

Recommandation : flattening maintenant, macros ensuite

Si vous devez résoudre le dépassement de lookups rapidement mais prévoyez une croissance de vos providers email, commencez par le flattening pour un résultat immédiat. Planifiez la migration vers les macros quand votre infrastructure DNS le permettra.

Créez le SPF de chaque sous-domaine ou provider avec notre SPF Generator pour préparer votre configuration.

Plan d'action recommandé

  1. Comptez vos lookups actuels : vérifiez combien de DNS lookups votre SPF publié consomme
  2. Évaluez votre nombre de providers : listez tous les services qui envoient des emails pour votre domaine
  3. Choisissez votre approche : flattening si moins de 5 providers, macros si plus de 10, au cas par cas entre 5 et 10
  4. Implémentez et testez : appliquez la solution choisie dans un environnement de test avant de modifier votre zone DNS de production
  5. Surveillez régulièrement : pour le flattening, re-aplatissez mensuellement, pour les macros, vérifiez que les enregistrements A sont à jour

FAQ

Qu'est-ce que le SPF flattening ?

Le SPF flattening consiste à résoudre tous les mécanismes SPF qui génèrent des lookups DNS (include:, a, mx, redirect) et à les remplacer par les adresses IP directes qu'ils retournent (ip4:, ip6:). Le résultat est un enregistrement SPF équivalent qui ne consomme aucun DNS lookup.

Qu'est-ce qu'une macro SPF ?

Une macro SPF est une variable définie par la RFC 7208 qui est remplacée dynamiquement lors de l'évaluation de l'enregistrement SPF. Les trois macros principales sont %{i} (IP de l'expéditeur), %{d} (domaine de l'expéditeur) et %{s} (adresse email complète). Elles permettent de construire des requêtes DNS conditionnelles.

Combien de lookups consomme un SPF aplati ?

Un SPF complètement aplati consomme exactement 0 lookup DNS car il ne contient que des mécanismes ip4: et ip6:, qui n'effectuent aucune requête DNS. C'est son principal avantage par rapport à un SPF classique avec des include:.

Les macros SPF sont-elles supportées par tous les serveurs ?

Non. La grande majorité des serveurs de réception modernes (Gmail, Outlook, Yahoo) supportent correctement les macros SPF. Cependant, certains serveurs anciens ou mal configurés peuvent ne pas les interpréter correctement, ce qui peut entraîner des résultats inattendus.

Peut-on combiner flattening et macros ?

Oui. Une approche hybride consiste à utiliser le flattening pour les providers à IP stables et les macros pour les providers à IP changeantes. Cette combinaison permet de bénéficier de la simplicité du flattening tout en gardant la flexibilité des macros.

À quelle fréquence faut-il re-aplatir un SPF ?

Un re-aplatissement mensuel est recommandé. Les grands providers comme Google et Microsoft modifient leurs plages IP plusieurs fois par an. Un outil de flattening automatisé peut détecter ces changements et vous alerter quand une mise à jour est nécessaire.

Quelle approche est la plus sûre pour la délivrabilité ?

Le flattening offre la meilleure compatibilité car il utilise uniquement des mécanismes ip4: et ip6: que 100% des serveurs supportent. Les macros sont compatibles avec 95%+ des serveurs modernes mais peuvent poser problème avec certains serveurs anciens. Pour maximiser la délivrabilité, le flattening est le choix le plus sûr.

Glossaire

  • SPF flattening : technique qui remplace les mécanismes SPF nécessitant des lookups par les adresses IP directes qu'ils résolvent, réduisant le compteur de lookups à zéro.
  • SPF macro : variable dynamique (%{i}, %{d}, %{s}) définie par la RFC 7208, substituée par le serveur de réception lors de l'évaluation SPF.
  • DNS lookup : requête DNS effectuée lors de l'évaluation d'un enregistrement SPF pour résoudre un mécanisme comme include: ou mx.
  • Permerror : erreur permanente retournée quand un SPF est structurellement invalide, notamment en cas de dépassement de la limite de 10 lookups.
  • RFC 7208 : spécification officielle du protocole SPF (Sender Policy Framework) qui définit les règles d'évaluation, les limites de lookups et les macros.

Aplatissez votre enregistrement SPF maintenant : utilisez notre SPF Flattener pour résoudre tous vos includes en adresses IP directes et respecter la limite de 10 lookups.


📚 Guides SPF connexes

Sources

Articles similaires