Dernière mise à jour : juillet 2026
En bref : après ce guide, ta zone DNS hébergée chez Cloudflare publie un enregistrement SPF correct pour ton serveur de messagerie. Les serveurs destinataires savent alors qui a le droit d’envoyer en ton nom.
Prérequis
- Un domaine dont le DNS est géré chez Cloudflare (la page DNS > Records du dashboard)
- Tu sais quels serveurs envoient des e-mails pour ton domaine (ton propre serveur de messagerie, boîte d’hébergeur, service de newsletter ou Cloudflare Email Routing)
Qu’est-ce que SPF ?
SPF (Sender Policy Framework) est un enregistrement TXT dans le DNS de ton domaine. La doc de Cloudflare résume clairement l’enjeu : sans enregistrements d’authentification, n’importe qui peut envoyer des e-mails qui semblent venir de ton domaine — une technique appelée usurpation de domaine (domain spoofing). L’enregistrement SPF liste les adresses IP et les domaines autorisés à envoyer des e-mails au nom de ton domaine. Les serveurs destinataires vérifient à chaque message entrant si le serveur qui livre figure sur cette liste.
Pour situer : SPF seul n’est pas une protection complète. Ce n’est qu’avec DKIM et DMARC que cela devient une base solide. Mais SPF est la porte d’entrée la plus simple.
Le point de départ chez Cloudflare
Cloudflare est avant tout un fournisseur DNS : il n’y a pas d’interrupteur SPF prêt à l’emploi, car le contenu de l’enregistrement dépend de l’endroit où tourne ta messagerie. Comme le note la doc de Cloudflare, les valeurs exactes de tes enregistrements mail dépendent de ton fournisseur de messagerie. Tu publies l’enregistrement TXT toi-même dans le dashboard.
Une particularité Cloudflare : contrairement à certains hébergeurs mutualisés, le dashboard ne demande pas de mettre la valeur entre guillemets — tu colles le contenu de l’enregistrement dans un simple champ Content. Et un enregistrement TXT n’est jamais proxifié (le proxy « nuage orange » ne concerne que les enregistrements A, AAAA et CNAME), il n’y a donc rien à basculer.
Guide étape par étape
1. Vérifier si SPF est déjà actif
Le plus rapide, dans le terminal :
dig TXT example.com +short | grep spf
Sinon, passe ton domaine dans le scanner MXAudit gratuit — il vérifie en même temps la syntaxe de l’enregistrement et la limite de lookups.
2. Construire l’enregistrement pour ton installation
Le cas classique, quand les mêmes serveurs envoient et reçoivent (ton MX pointe vers ton propre serveur) :
v=spf1 mx ~all
Le mécanisme mx autorise les adresses IP de tous les noms d’hôte MX de ton domaine — si l’IP du serveur change, l’enregistrement SPF reste correct automatiquement, tant que le MX est juste. Une fois sûr de tes voies d’envoi, durcis la fin en -all :
v=spf1 mx -all
Si tu envoies via Cloudflare Email Routing, Cloudflare documente l’enregistrement exact :
v=spf1 include:_spf.mx.cloudflare.net ~all
Les règles de syntaxe de Cloudflare, tirées de la doc :
| Règle | Effet |
|---|---|
commencer par v=spf1 | les enregistrements SPF doivent commencer par v=spf1 |
include: | combiner les services avec des déclarations include: séparées |
~all / -all | utiliser ~all (SoftFail) ou -all (Fail), pas +all |
| max. 10 lookups | les enregistrements SPF sont limités à 10 lookups DNS au total |
3. Saisir l’enregistrement dans le dashboard Cloudflare
Va dans DNS > Records, choisis Add record, puis le Type :
| Champ | Valeur |
|---|---|
| Type | TXT |
| Name | @ (pour le domaine racine) |
| Content | v=spf1 mx ~all |
| TTL | Auto |
Clique sur Save.
4. Ajouter des services d’envoi externes (si nécessaire)
Un outil de newsletter, un CRM ou un second fournisseur a besoin de sa valeur include: dans le même enregistrement. Le format de fusion documenté par Cloudflare :
v=spf1 include:_spf.mx.cloudflare.net include:other-service.com ~all
Par exemple, Cloudflare Email Routing plus Google Workspace :
v=spf1 include:_spf.mx.cloudflare.net include:_spf.google.com ~all
La règle tient toujours : un seul enregistrement SPF par domaine. Cloudflare est explicite — avoir plusieurs enregistrements SPF sur ton domaine n’est pas autorisé — donc édite l’enregistrement existant, n’en crée jamais un deuxième.
5. Attendre que la modification soit en ligne
Les modifications DNS prennent du temps : selon le TTL et le cache, il peut s’écouler un moment avant que tous les serveurs du monde voient le nouvel enregistrement. Pour les domaines sur Cloudflare DNS, c’est généralement rapide.
Vérifier le résultat
Vérifie ta configuration avec le scanner MXAudit gratuit — il te montre immédiatement si ton enregistrement SPF est syntaxiquement correct et combien de lookups DNS il consomme (la limite est de 10).
Ou directement dans le terminal :
dig TXT example.com +short | grep spf
La sortie doit contenir exactement un enregistrement avec v=spf1.
Erreurs fréquentes
Deux enregistrements SPF. Deux entrées TXT avec v=spf1 provoquent un permerror — les serveurs destinataires ignorent alors SPF complètement. Cloudflare précise que plusieurs enregistrements SPF ne sont pas autorisés ; toutes les sources vont dans un seul enregistrement.
+all à la fin. Un +all autorise n’importe quel serveur à envoyer et rend tout l’enregistrement inutile — Cloudflare dit d’utiliser ~all ou -all, pas +all.
mx sans enregistrements MX correspondants. v=spf1 mx -all autorise exactement les serveurs de tes enregistrements MX. Si une machine envoie sans y figurer, elle est rejetée — ajoute-la via include:, ip4: ou a:.
Limite de lookups DNS dépassée. SPF autorise au maximum 10 lookups DNS par vérification ; mx, a: et chaque include: comptent. Avec beaucoup de services externes, ça devient juste — MXAudit les compte pour toi.
Pour aller plus loin
- Docs Cloudflare : Set up email records (consulté le 10 juillet 2026)
- Docs Cloudflare : Email authentication (SPF, DKIM, DMARC) (consulté le 10 juillet 2026)
- Docs Cloudflare : Email Service troubleshooting (consulté le 10 juillet 2026)
- RFC 7208 — Sender Policy Framework (SPF)
