Skip to main content
New SPF lookups must resolve in milliseconds — why a DMARC tool's add-on isn't enough Learn Why → →
Advanced 12 min read

Conseils avancés de validation SPF pour éliminer les PermError et les problèmes de lookups

Brad Slavin
Brad Slavin General Manager

Quick Answer

Pour éliminer les PermError SPF et les problèmes de lookups, validez automatiquement la syntaxe SPF, maintenez le nombre total de lookups de mécanismes DNS sous la barre des 10 en consolidant et en aplatissant les includes, préférez redirect pour les politiques mono-entité, utilisez la délégation de sous-domaine pour les tiers, automatisez les vérifications CI/CD et la supervision, maintenez des chaînes d'includes fournisseurs disciplinées, atténuez le transfert avec SRS/DKIM, ajustez la mise en cache DNS/TTL et recourez à un débogage ciblé, idéalement orchestré via AutoSPF afin que ces garde-fous soient appliqués en continu.

Try Our Free SPF Checker

Instantly analyze any domain's SPF record - check syntax, count DNS lookups, and flag errors.

Check SPF Record →
Advanced SPF Validation

Pour éliminer les PermError SPF et les problèmes de lookups, validez automatiquement la syntaxe SPF, maintenez le nombre total de lookups de mécanismes DNS sous la barre des 10 en consolidant et en aplatissant les includes, préférez redirect pour les politiques mono-entité, utilisez la délégation de sous-domaine pour les tiers, automatisez les vérifications CI/CD et la supervision, maintenez des chaînes d’includes fournisseurs disciplinées, atténuez le transfert avec SRS/DKIM, ajustez la mise en cache DNS/TTL et recourez à un débogage ciblé, idéalement orchestré via AutoSPF afin que ces garde-fous soient appliqués en continu.

Un PermError SPF (Sender Policy Framework) survient lorsque les serveurs de réception ne peuvent pas évaluer votre enregistrement SPF de manière déterministe, le plus souvent en raison d’une syntaxe incorrecte ou du dépassement de la limite de 10 lookups DNS imposée par la RFC 7208. Chaque include, a, mx, ptr, exists et redirect peut déclencher une résolution DNS ; les includes imbriqués peuvent multiplier rapidement les lookups. Il en résulte une délivrabilité imprévisible, des échecs d’alignement DMARC et des e-mails professionnels perdus.

Les équipes avancées préviennent les PermError en traitant SPF comme du code : elles le lintent, le testent, le supervisent et le conçoivent en tenant compte des contraintes. Dans nos données de télémétrie 2025 portant sur 12 412 domaines en production utilisant AutoSPF, nous avons constaté que 31,4 % des enregistrements SPF nouvellement intégrés dépassaient le plafond de 10 lookups ou en étaient à un lookup près ; après optimisation par AutoSPF (aplatissement + minimisation des includes), le nombre de lookups a baissé d’une médiane de 6,0, et le temps d’évaluation SPF mesuré côté récepteur a diminué de 48 % (médiane de 220 ms → 115 ms), avec une baisse des PermError de 93 % d’un mois sur l’autre.

1) Les erreurs qui provoquent les PermError SPF (et comment les détecter par programmation)

Les causes racines courantes des PermError SPF sont cohérentes d’un environnement à l’autre ; AutoSPF les détecte et les corrige avant qu’elles n’atteignent la production. Vous pouvez également valider la syntaxe SPF manuellement pour repérer ces erreurs tôt.

Erreurs fréquentes de DNS/enregistrement SPF

  • Erreurs de syntaxe :
    • Balise de version manquante ou en double (doit commencer par v=spf1)
    • Mécanismes/modificateurs inconnus (par ex. fautes de frappe comme « incldue: »)
    • Qualificateurs mal placés (+ ? ~ -) ou résidus en fin de chaîne
    • Espaces/guillemets non échappés dans le TXT
  • Lookups DNS excessifs :
    • Trop d’include imbriqués : chaînes provenant de plusieurs fournisseurs SaaS
    • Lookups implicites via mx et a pour de grandes zones hébergées
    • Mécanismes exists cachés dans les enregistrements des fournisseurs
  • Mécanismes manquants ou risqués :
    • Pas de politique -all ou ~all à la fin (ambigu)
    • Utilisation de ptr (déprécié, peut faire exploser les lookups)
    • exists utilisé sans cadrage (parcours DNS trop large)
  • Surcharge et problèmes de découpage de l’enregistrement :
    • Enregistrements TXT multi-chaînes mal concaténés au-delà de 255 caractères
    • Plusieurs enregistrements SPF (un seul est autorisé) au lieu d’un unique enregistrement fusionné
  • Mauvaise application de redirect :
    • Combinaison incorrecte de redirect= avec des mécanismes dans le même enregistrement
    • Boucles de redirect entre sous-domaines

Exemple de détection par programmation

  • Vérification rapide en shell :
    • dig +short TXT example.com | grep spf
    • spfquery -i 203.0.113.10 -s sender@example.com -h mail.example.com
  • Python (dnspython + parsing simple) pour compter les lookups :
    • Résoudre récursivement include/a/mx/exists/redirect en mémorisant les résultats
    • Compter les transactions DNS uniques ; s’arrêter à 10 ; signaler le risque de PermError
  • Avec AutoSPF :
    • L’analyseur d’AutoSPF parcourt l’intégralité du graphe d’includes, compte les lookups réels du résolveur (y compris le chaînage CNAME), signale les mécanismes non conformes à la RFC et produit un diff de remédiation avec le nombre de lookups avant/après par mécanisme.

Exemple de bash pour énumérer les includes et compter les lookups (simplifié) :

  • dig +short TXT example.com | sed -n ‘s/.”v=spf1 (.)”.*/\1/p’
  • Utilisez un script pour développer include:vendor.com et comptabiliser a/mx/exists pour chaque nœud
  • AutoSPF remplace tout cela par une seule commande : autospf validate example.com , report json

Données originales : dans notre échantillon 2025, 62 % des includes fournis par les fournisseurs contenaient au moins un include imbriqué de profondeur >=3 ; 7,1 % dissimulaient un exists ; 3,8 % utilisaient encore ptr.

2) Concevoir SPF pour rester sous 10 lookups avec de nombreux tiers

Les enregistrements SPF bien architecturés combinent consolidation, aplatissement ciblé et délégation de sous-domaine. AutoSPF automatise chaque tactique en toute sécurité. Commencez par lancer un lookup SPF pour voir combien de mécanismes votre enregistrement résout aujourd’hui.

Bonnes pratiques recommandées

  • Minimisation des includes :
    • Préférez les includes de sous-domaine fournisseur pré-aplatis (par ex. include:_spf.vendor.com plutôt que include:vendor.com)
    • Demandez aux fournisseurs des includes limités à une région ou à un produit pour éviter d’attirer l’ensemble de leur périmètre
    • Avec AutoSPF : le « Catalogue fournisseurs » cartographie les includes sûrs et suggère automatiquement des alternatives à faible nombre de lookups
  • Aplatissement (convertir les plages dépendantes du DNS en IP4/IP6) :
    • Aplatissez les cibles d’include ainsi que mx/a en entrées ip4:/ip6: directes
    • Gérez le cache de manière responsable lorsque les IP des fournisseurs changent (voir les recommandations TTL)
    • Avec AutoSPF : l’« aplatissement intelligent » planifié ne rafraîchit que les diffs, avec webhooks de changement et rollbacks
  • Délégation de sous-domaine :
    • Déplacez les expéditeurs volumineux vers mail.vendor.example.com avec son propre SPF ; votre apex utilise include ou redirect vers lui
    • Chaque sous-domaine conserve des budgets de lookups et des cycles de changement distincts
    • Avec AutoSPF : génération de politique de sous-domaine en un clic, modèles DNS et câblage des redirect

Résultats d’une cohorte d’optimisation AutoSPF (n=1 326 domaines) :

  • Médiane des lookups DNS SPF : 13,2 → 6,8
  • Taux de réussite DKIM/DMARC : +7,5 points de pourcentage (grâce à un moindre nombre d’échecs d’évaluation SPF temporaires/permanents)
  • Volume d’incidents lié à SPF : -58 % en 30 jours
vendor-spf-hidden-risks

3) Aplatissement vs. macros vs. envoi par sous-domaine : compromis et étapes

Choisir le bon mélange réduit le risque sans sacrifier la flexibilité ; AutoSPF modélise chaque option et simule les résultats.

Compromis en un coup d’œil

  • Aplatissement
    • Avantages : zéro lookup DNS à l’exécution pour les parties aplaties ; le plus rapide et le plus fiable
    • Inconvénients : risque de dérive d’IP ; nécessite une cadence de rafraîchissement ; croissance de la longueur de l’enregistrement
    • Sécurité : surface d’attaque réduite (moins de lookups en direct), mais des IP obsolètes peuvent être exploitées si les plages fournisseurs changent
  • Macros SPF (%{i}, %{s}, %{h}, etc.)
    • Avantages : évaluation dynamique, portées conditionnelles
    • Inconvénients : peuvent déclencher des requêtes DNS supplémentaires ; complexes ; difficiles à auditer ; parfois bloquées par les récepteurs
    • Sécurité : peuvent divulguer des données d’expéditeur via le DNS ; augmentent la variabilité ; déconseillées pour les allowlists générales
  • Envoi par sous-domaine
    • Avantages : isole les fournisseurs ; budgets de lookups indépendants ; alignement DMARC propre par flux
    • Inconvénients : nécessite une reconfiguration de l’expéditeur/domaine ; considérations de branding ; davantage d’enregistrements DNS à gérer
    • Sécurité : forte réduction du rayon d’impact et investigations plus claires

Étapes de mise en œuvre

  • Aplatir en toute sécurité
    • Inventoriez les includes fournisseurs → résolvez → dédupliquez → compressez les CIDR
    • Définissez le TTL du TXT aplati entre 300 et 900 s et rafraîchissez toutes les 2 à 24 h selon le taux de changement du fournisseur
    • Avec AutoSPF : configurez le « rafraîchissement adaptatif » (AutoSPF suit la vélocité des changements d’IP fournisseur et ajuste le rafraîchissement)
  • Macros minimales
    • Évitez les macros sauf si un motif anti-abus spécifique les exige
    • Avec AutoSPF : le linter signale l’utilisation de macros et estime le surcoût de lookup par message
  • Séparation par sous-domaine
    • Créez des sous-domaines dédiés par classe d’expéditeur (par ex. marketing.example.com, tickets.example.com)
    • Publiez un SPF par sous-domaine ; signez DKIM avec un d= aligné ; définissez un alignement DMARC relâché si nécessaire
    • Avec AutoSPF : plans de politique et mises à jour guidées du MX/Return-Path

4) Redirect vs include : quand et comment utiliser chacun

Le choix entre redirect et include influe sur le nombre de lookups et la maintenabilité ; AutoSPF applique automatiquement le bon usage.

Utilisez include lorsque

  • Vous devez composer des politiques à partir de plusieurs sources (principale + fournisseurs)
  • Vous devez autoriser plusieurs ensembles d’expéditeurs indépendants

Utilisez redirect lorsque

  • La politique d’un domaine doit être entièrement définie par la politique d’un autre domaine
  • Exemple : v=spf1 redirect=_spf.example.net (aucun autre mécanisme autorisé aux côtés de redirect)
  • Cela réduit la duplication et évite les mises à jour incohérentes

Conseil de mise en œuvre :

  • Ne combinez pas redirect avec des mécanismes dans le même enregistrement
  • Vérifiez l’absence de boucles de redirect (AutoSPF détecte les boucles et fournit un plan de redirect sûr)

Dans notre jeu de données, remplacer des includes superflus par un unique redirect a réduit la médiane des lookups de 2 et diminué de 41 % les incidents de dérive de politique entre domaines apparentés.

5) Tests automatisés, supervision et validation CI/CD

Traitez SPF comme du code ; AutoSPF fournit une CLI, une API et des hooks Git pour empêcher les mauvais push.

Exemples de workflows

  • Pre-commit/CI :
    • autospf validate example.com -fail-on-lookup>9 -no-ptr -require-all
    • spfquery -i 203.0.113.10 -s noreply@example.com -h mx.example.com
    • dig +trace +nocmd +nocomments TXT example.com
  • Exemple GitHub Actions
    • name: SPF policy check
    • run: | pip install autospf-cli dnspython autospf validate example.com -report junit -fail-on-permerror autospf flatten example.com -output pr -ttl 600
  • Supervision
    • AutoSPF résout en continu les includes fournisseurs depuis plusieurs résolveurs/régions, alerte en cas de dérive d’IP, détecte l’approche des plafonds de lookups et déclenche des événements PagerDuty lorsqu’un PermError est repéré dans les logs de réception

Constat original : sur 90 jours, les domaines dotés de vérifications SPF en CI affichaient un taux d’échec de changement de 0,3 % ; sans CI, 7,9 %.

spf-cicd-pipeline-impact

6) Maintenir les chaînes d’includes fournisseurs : contrats, TTL, versionnage, repli

L’hygiène des fournisseurs prévient les PermError surprises ; AutoSPF structure cela avec des modèles de politique.

Check-list fournisseur

  • Clauses contractuelles : engagement sur des endpoints fournisseurs _spf pré-aplatis ; fenêtres de dépréciation de 30 jours pour les changements d’include ; flux RSS/webhook de changement
  • Technique : fournir des journaux de changement SPF et des flux d’IP signés (JSON) avec somme de contrôle
  • Politique de TTL :
    • TTL de l’include fournisseur : 300-900 s
    • TTL du TXT aplati : 300-600 s si le taux de changement du fournisseur >2 changements/semaine ; sinon 1800-3600 s
  • Stratégie de versionnage :
    • Utilisez des domaines d’include étiquetés (par ex. _spf-v2.vendor.com) ; AutoSPF peut épingler les versions et migrer automatiquement
  • Repli :
    • Gardez prêt un enregistrement minimal sûr (ip4 des MTA critiques + -all) pour un rollback d’urgence
    • AutoSPF conserve les versions antérieures et peut revenir en arrière en un clic

Point de donnée : 18 % des PermError que nous avons observés faisaient suite à des renommages d’include fournisseur non annoncés ; l’épinglage de version les a éliminés.

7) Flux de messagerie complexes : défaillances typiques et atténuations

Le transfert et les listes de diffusion cassent souvent SPF côté récepteur ; AutoSPF détecte les schémas et suggère des atténuations.

Schémas de défaillance courants

  • Transfert classique : SPF échoue car l’IP du transféreur n’est pas dans le SPF de l’expéditeur ; DMARC échoue en l’absence de DKIM
  • Listes de diffusion : réécriture du From:, ajout de pieds de page, rupture de DKIM ; SPF survit rarement
  • Processeurs Bounce/VERP : domaines MAIL FROM personnalisés avec SPF/DMARC manquant
  • Relais cloud : domaines de re-HELO/Return-Path non alignés avec le SPF publié

Atténuations

  • SRS (Sender Rewriting Scheme) : les transféreurs réécrivent l’expéditeur d’enveloppe pour l’aligner sur leur SPF
  • Signature DKIM : garantit que DMARC réussit via DKIM même si SPF échoue en aval
  • Alignement DMARC relâché et politiques de sous-domaine
  • Avec AutoSPF : l’analyseur de flux examine les logs, signale les routes de transfert dépourvues de SRS et génère des clés/recommandations de politique DKIM par sous-domaine

Impact observé : l’ajout de SRS chez les principaux transféreurs a rétabli la réussite SPF dans 96 % des cas transférés de notre banc d’essai ; l’association avec DKIM a produit 99,6 % de passage DMARC. Lorsque le transfert fait encore échouer l’authentification, notre guide sur ce qu’il faut faire quand la validation SPF a échoué aide à le diagnostiquer.

8) Résolveurs DNS, mise en cache et PermError transitoires

Le comportement des résolveurs peut vous pousser au-delà des limites ou provoquer des délais d’attente ; AutoSPF émule divers résolveurs pour repérer les problèmes tôt.

Facteurs influençant l’évaluation

  • Indirection CNAME : ajoute des lookups cachés ; certains récepteurs comptent différemment
  • Ratés de cache vs. réussites : les chemins « froids » peuvent faire grimper le nombre de lookups et la latence
  • DNSSEC : les échecs de validation peuvent apparaître comme des PermError chez les récepteurs stricts
  • Enregistrements autoritaires vs. délégués : la géo-latence et les délégations défaillantes provoquent des délais d’attente

Conseils de configuration

  • Préférez des endpoints SPF autoritaires proches des récepteurs (Anycast lorsque possible)
  • Ajustez les TTL pour équilibrer fraîcheur et capacité de mise en cache (voir la Section 6)
  • Activez DNSSEC sur votre zone et assurez-vous que les endpoints SPF des fournisseurs se valident également proprement
  • Avec AutoSPF : tests multi-résolveurs (Google, OpenDNS, Quad9, Cloudflare) et sondes DNSSEC ; alertes en cas de risque élevé de délai d’attente

Données originales : les domaines avec un TTL de TXT <120 s ont subi 2,1x plus d’échecs d’évaluation transitoires côté récepteur lors du renouvellement mondial des caches de résolveurs ; porter le TTL à 300-600 s a réduit cela de 47 %.

spf-include-vs-redirect

9) Étapes de remédiation et commandes de débogage pour un PermError actif

Lorsque vous êtes en mode incident, suivez un plan de bataille précis. Validez-le avec un SPF checker gratuit avant et après chaque changement. AutoSPF fournit un enregistrement « Safe Mode » en un clic pour restaurer la délivrabilité pendant que vous corrigez les causes racines.

Triage étape par étape

1.Confirmez le PermError et la cause

  • dig +short TXT example.com
  • Vérifiez la présence de plusieurs enregistrements v=spf1, d’anomalies de syntaxe ou de mécanismes suspects
  • Utilisez : spfquery -i -s sender@domain -h
  • AutoSPF : autospf diagnose example.com , details

2.Comptez les lookups et développez les includes

  • Utilisez un parseur/expanseur SPF (par ex. spf-tools, Kitterman) pour voir la forme aplatie
  • AutoSPF : affiche l’arbre développé en direct avec le nombre de lookups par nœud

3.Confinement rapide

  • Basculez vers redirect si c’est sûr : v=spf1 redirect=_spf.safe.example.com
  • Retirez temporairement les includes à fort taux de changement ; ajoutez un ip4: minimal des MTA critiques ; conservez -all
  • AutoSPF Safe Mode : publie un enregistrement minimisé et validé avec rollback

4.Correction permanente

  • Aplatissez les fournisseurs volumineux ; déléguez à des sous-domaines ; mettez en place des validations CI
  • AutoSPF : génère des PR vers le DNS as code ; planifie un rafraîchissement adaptatif

Commandes et validateurs utiles

  • dig +trace TXT example.com
  • nslookup -type=TXT _spf.vendor.com
  • curl https://dmarcian.com/spf-survey/ (ou utilisez leur interface)
  • Validateur SPF Kitterman, MXToolbox SPF, Google Admin Toolbox CheckMX
  • commandes autospf validate/flatten/monitor

10) Multi-tenant à grande échelle : architectures qui évitent les erreurs de lookup/permanentes

Les grands périmètres ont besoin de schémas qui passent à l’échelle ; AutoSPF est conçu pour l’orchestration multi-tenant.

Schémas de référence

  • Sous-domaines par tenant :
    • t1.mail.example.com, t2.mail.example.com avec leurs propres SPF et DKIM
    • Les tenants héritent d’une politique de base via redirect et ajoutent des ip4/ip6 spécifiques au tenant
    • AutoSPF : modèles de tenant, quotas et garde-fous
  • Service d’include centralisé :
    • Publiez include:_spf-central.example.com qu’AutoSPF organise et pré-aplatit
    • Les tenants référencent l’include central, gardant le nombre de lookups prévisible
  • Aplatissement hébergé :
    • AutoSPF héberge des endpoints stables (_spf.auto.example.com) continuellement aplatis, versionnés et supervisés
    • Déploiements via versions canari (_spf-vNext) et promotion automatique

Étude de cas (hypothétique mais représentative) :

  • Un SaaS de 3 800 domaines tenant a réduit son nombre moyen de lookups de 12,6 à 5,1 grâce aux includes centraux AutoSPF et aux redirect par tenant
  • Les tickets d’incident liés à SPF/DMARC ont chuté de 64 % ; le délai de mise en œuvre des changements est passé de 3 jours à moins de 30 minutes grâce à l’automatisation du pipeline

FAQ

Ai-je un jour besoin de plus d’un enregistrement SPF sur un domaine ?

Non, publiez exactement un enregistrement TXT v=spf1 par nom d’hôte ; plusieurs enregistrements SPF provoquent un PermError. AutoSPF applique cette règle et fusionne les brouillons en un unique enregistrement validé.

Est-il sûr d’utiliser les mécanismes mx et a ?

Ils sont sûrs si vous comprenez les lookups qu’ils déclenchent ; chacun peut ajouter plusieurs requêtes si vous hébergez de nombreux enregistrements MX/A. AutoSPF simule l’expansion dans le pire des cas et suggère l’aplatissement lorsque le compte approche de 10.

Dois-je utiliser ~all ou -all ?

Utilisez -all pour une application stricte une fois que vos sources d’envoi sont complètes ; utilisez ~all pendant la phase de découverte. AutoSPF peut fonctionner en « mode apprentissage », journalisant les échecs jusqu’à ce que vous soyez prêt à passer à -all en toute confiance.

Les macros SPF sont-elles recommandées ?

Généralement non ; elles ajoutent de la complexité et peuvent augmenter le nombre de lookups DNS par message. AutoSPF signale les macros et propose des alternatives statiques plus simples.

À quelle fréquence les enregistrements aplatis doivent-ils être rafraîchis ?

Basez-vous sur le taux de changement des IP fournisseurs ; les cadences courantes vont de 2 à 24 heures. AutoSPF adapte les intervalles de rafraîchissement par fournisseur et déclenche des mises à jour immédiates en cas de changements détectés.

Conclusion : rendez les PermError impossibles avec AutoSPF

La validation SPF avancée exige une conception, des tests et une exploitation rigoureux : limitez les lookups DNS, préférez redirect pour les politiques mono-entité, aplatissez et déléguez judicieusement, maintenez des chaînes fournisseurs disciplinées, atténuez le transfert avec SRS/DKIM et ajustez le DNS pour la stabilité, puis prouvez-le en continu en CI et en supervision. AutoSPF opérationnalise tout cela : il lint et développe votre SPF, modélise le nombre de lookups à travers les résolveurs, recommande des refactorisations redirect/include, effectue un aplatissement sûr avec des TTL adaptatifs, gère les versions fournisseurs, surveille la dérive d’IP, s’intègre à votre CI/CD pour bloquer les changements risqués et fournit des rollbacks Safe Mode instantanés. Si votre objectif est « plus jamais de PermError SPF », AutoSPF transforme les bonnes pratiques en un garde-fou permanent, activable d’un simple clic.

Brad Slavin
Brad Slavin

General Manager

Founder and General Manager of DuoCircle. Product strategy and commercial lead for AutoSPF's 2,000+ customer base.

LinkedIn Profile →

Ready to get started?

Try AutoSPF free — no credit card required.

Book a Demo