Ce que le générateur vérifie réellement
Beaucoup d'outils se contentent de coller des includes bout à bout. Le nôtre va plus loin : il résout la configuration en DNS avant de vous laisser publier.
Concrètement, au moment de la génération, il fait quatre choses.
D'abord il résout la chaîne d'includes en DNS, avec le même moteur que notre vérificateur de syntaxe SPF. Un include:_spf.google.com n'est pas une seule recherche : il en contient d'autres, qui en contiennent d'autres. Le générateur les suit toutes et affiche le nombre réel de lookups, pas une estimation au doigt mouillé.
Ensuite il compte les void lookups. Un void lookup, c'est une recherche DNS qui ne renvoie rien : un include vers un domaine qui a disparu, un NXDOMAIN, une réponse vide. La RFC 7208 §4.6.4 en tolère 2. Au troisième, c'est permerror. Beaucoup de SPF cassés le sont à cause d'un ancien fournisseur dont l'include ne résout plus, sans que personne ne s'en aperçoive.
Il regarde aussi votre SPF déjà publié. S'il en trouve un, il ne vous laisse pas en empiler un second (ce serait un permerror immédiat). Il vous propose de remplacer l'existant, ou vous dit que rien ne bouge si le SPF en place est déjà identique au résultat.
Enfin, il vérifie votre DMARC. Le SPF seul laisse des trous ; DMARC referme la boucle. Si un DMARC existe déjà, le générateur propose de le vérifier ; sinon, de le configurer.
Estimation pendant la saisie, comptage réel à la génération
Le formulaire affiche une estimation en temps réel des lookups DNS pendant que vous cochez vos fournisseurs. C'est rapide, basé sur le catalogue, et ça donne un ordre de grandeur immédiat.
Le résultat final, lui, montre le comptage réel après résolution complète de la chaîne. Il peut être plus élevé que l'estimation. Pourquoi ? Parce que les includes imbriqués ne sont visibles qu'une fois résolus en DNS. Un fournisseur qui « coûte » 1 dans le catalogue peut en consommer trois une fois sa chaîne déroulée.
Fiez-vous au chiffre final avant de publier. C'est lui qui compte pour la limite de 10.
Ajouter, remplacer ou ne rien changer : ce que le générateur recommande
Le générateur lit le SPF actuellement publié sur votre domaine, puis adapte ses instructions.
| Situation détectée | Instruction | Pourquoi |
|---|---|---|
| Aucun SPF publié | Ajouter un enregistrement TXT | Le domaine n'est pas protégé, il faut créer le SPF |
| Un SPF existe et diffère | Remplacer l'enregistrement existant | Deux SPF sur un même domaine provoquent un permerror |
| Un SPF identique est déjà là | Aucune modification | Inutile de republier la même valeur |
La règle à retenir tient en une phrase : un domaine, un seul SPF. Si vous ajoutez un fournisseur, vous éditez l'enregistrement existant, vous n'en créez pas un nouveau.
Qu'est-ce qu'un enregistrement SPF ?
SPF (Sender Policy Framework) est un mécanisme d'authentification email défini dans la RFC 7208. Il permet à un domaine de déclarer quels serveurs ont le droit d'envoyer des emails en son nom.
Sans SPF, n'importe qui peut écrire un email en se faisant passer pour votre domaine. Avec un SPF correct, les serveurs destinataires comparent l'expéditeur réel à votre liste autorisée et rejettent ou marquent ce qui ne colle pas.
Configurer SPF sert à protéger votre domaine contre l'usurpation, à améliorer la délivrabilité de vos emails légitimes, et à poser l'un des deux piliers de DMARC (l'autre étant DKIM). Gmail, Outlook et Yahoo vérifient tous SPF : ne pas l'avoir, c'est partir avec un handicap.
Syntaxe d'un enregistrement SPF
Un enregistrement SPF est un enregistrement DNS TXT qui commence toujours par v=spf1 :
v=spf1 include:_spf.google.com include:sendgrid.net ip4:192.0.2.1 ~all
Mécanismes SPF
| Mécanisme | Description | Exemple | Lookup DNS |
|---|---|---|---|
include: | Inclut le SPF d'un autre domaine | include:_spf.google.com | Oui |
ip4: | Autorise une adresse ou plage IPv4 | ip4:192.0.2.1 ou ip4:192.0.2.0/24 | Non |
ip6: | Autorise une adresse ou plage IPv6 | ip6:2001:db8::1 | Non |
a | Autorise l'IP du record A du domaine | a ou a:mail.captaindns.com | Oui |
mx | Autorise les serveurs MX du domaine | mx | Oui |
all | Définit le comportement par défaut | -all, ~all, ?all | Non |
Qualificateurs de politique
| Politique | Syntaxe | Signification | Recommandation |
|---|---|---|---|
| Fail | -all | Rejeter les envois non autorisés | Production, après tests |
| Softfail | ~all | Marquer comme suspect, sans bloquer | Pour débuter |
| Neutral | ?all | Aucune consigne | Déconseillé |
Le ?all mérite un mot. Côté évaluation, il ne protège quasiment rien : un serveur destinataire le traite presque comme l'absence de SPF. À éviter, sauf le temps très court d'un diagnostic.
La limite des 10 lookups DNS
La RFC 7208 plafonne à 10 le nombre de recherches DNS pendant l'évaluation d'un SPF. Limite stricte : la dépasser provoque un permerror et l'échec de la validation.
Ce qui compte comme lookup
| Mécanisme | Compte ? | Remarque |
|---|---|---|
include: | Oui, plus les lookups imbriqués | Un include peut en cacher plusieurs |
a | Oui | |
mx | Oui | Plus 1 par enregistrement MX résolu |
redirect= | Oui | |
exists: | Oui | |
ip4: / ip6: | Non | À privilégier pour économiser |
all | Non |
Le piège classique : un include qui paraît anodin. include:_spf.google.com contient lui-même plusieurs includes. C'est là que le comptage réel du générateur fait la différence sur une estimation à la louche.
Fournisseurs email pris en charge
Le générateur connaît les principaux fournisseurs email et ajoute leur include au bon format dès que vous les cochez. Une recherche couvre l'ensemble du catalogue, au-delà des fournisseurs courants affichés par défaut. Voici quelques exemples parmi les fournisseurs pris en charge :
| Fournisseur | Include SPF |
|---|---|
| Google Workspace | _spf.google.com |
| Microsoft 365 | spf.protection.outlook.com |
| Amazon SES | amazonses.com |
| SendGrid | sendgrid.net |
| Mailgun | mailgun.org |
| Brevo (ex-Sendinblue) | spf.sendinblue.com |
| Zoho | spf.zoho.com |
| Mailchimp | servers.mcsv.net |
| Postmark | spf.mtasv.net |
| HubSpot | spf.hubspot.com |
| Salesforce | _spf.salesforce.com |
| Infomaniak | spf.infomaniak.ch |
Votre fournisseur n'est pas dans la liste ? Cherchez son nom dans le générateur : le catalogue va bien au-delà de ces quelques exemples.
FAQ - Questions fréquentes
Q : Comment créer un enregistrement SPF pour mon domaine ?
R : Choisissez vos fournisseurs email, ajoutez vos IP si besoin, puis sélectionnez la politique (~all pour débuter). Le générateur résout les includes, affiche le nombre réel de lookups DNS et vous dit s'il faut ajouter un SPF ou remplacer celui qui existe déjà. Copiez l'enregistrement TXT et publiez-le dans votre zone DNS.
Q : Qu'est-ce qu'un void lookup en SPF ?
R : Une recherche DNS qui ne renvoie rien : include vers un domaine disparu, NXDOMAIN, réponse vide. La RFC 7208 §4.6.4 en autorise 2 au maximum. Au-delà, l'évaluation échoue en permerror. Le générateur les détecte et les compte pendant qu'il résout la chaîne.
Q : Le générateur affiche-t-il le vrai nombre de lookups ?
R : Pendant la saisie, c'est une estimation rapide basée sur le catalogue. À la génération, il résout réellement la chaîne d'includes en DNS, avec le même moteur que notre vérificateur de syntaxe SPF. Le comptage final est exact, et parfois plus élevé que l'estimation, car il suit les includes imbriqués.
Q : Le générateur peut-il détecter mon SPF actuel ?
R : Oui. Il lit le SPF publié sur votre domaine. Pas de SPF : il propose d'en ajouter un. SPF existant et différent : il propose de le remplacer, jamais d'en créer un second. SPF déjà identique : aucune modification.
Q : Puis-je avoir plusieurs enregistrements SPF ?
R : Non. Un seul SPF par domaine. En publier deux provoque un permerror. Combinez les includes de vos fournisseurs dans un unique enregistrement.
Q : Quelle différence entre ~all et -all ?
R : ~all (softfail) marque les envois non autorisés comme suspects sans les bloquer. -all (fail) les rejette. Commencez par ~all le temps de valider, puis passez à -all.
Q : Comment résoudre l'erreur too many DNS lookups ?
R : Supprimez les includes inutiles, remplacez certains includes par des IP directes (ip4/ip6 ne comptent pas), ou aplatissez l'enregistrement avec notre SPF Flattener. Le générateur affiche le compteur de lookups réels pour éviter d'en arriver là.
Outils complémentaires
| Outil | Utilité |
|---|---|
| SPF Record Check | Vérifiez votre SPF publié et sa validité |
| SPF Flattener | Aplatissez votre SPF pour passer sous les 10 lookups DNS |
| SPF Syntax Check | Validez la syntaxe SPF avant publication |
| DKIM Generator | Créez vos clés DKIM (RSA/Ed25519) |
| DMARC Generator | Configurez DMARC pour compléter l'authentification |
| Mail Tester | Testez la délivrabilité de vos emails |
Ressources utiles
- RFC 7208 - Sender Policy Framework (SPF) : spécification officielle, dont la §4.6.4 sur les void lookups
- RFC 7489 - DMARC : comment SPF s'intègre avec DMARC
- Google Workspace - configurer SPF : guide officiel Google
- Microsoft 365 - configurer SPF : guide officiel Microsoft