SPF est le plus ancien et le plus simple des trois enregistrements d'authentification de courriel, mais ses particularités font trébucher bien des gens — surtout la limite silencieuse de 10 requêtes. Ce guide explique ce que signifie chaque partie d'un enregistrement SPF, montre de vrais exemples et couvre les erreurs qui le brisent en silence.

Ce qu'est un enregistrement SPF

SPF (Sender Policy Framework) est un unique enregistrement DNS TXT, publié à la racine de votre domaine, qui liste les serveurs autorisés à envoyer des courriels en utilisant votre domaine. Quand un serveur de réception reçoit un message prétendant venir de vous, il consulte votre enregistrement SPF et vérifie si le serveur qui se connecte figure sur la liste. Un vrai exemple pour un domaine utilisant Google Workspace :

v=spf1 include:_spf.google.com ~all

Lire la syntaxe

Un enregistrement SPF est une balise de version, suivie d'un ou plusieurs mécanismes (chacun portant éventuellement un qualificateur), évalués de gauche à droite.

La balise de version

v=spf1 vient toujours en premier et identifie l'enregistrement comme étant du SPF. Un domaine doit avoir exactement un enregistrement SPF — en publier deux brise complètement le SPF.

Les mécanismes

  • include: — autorise le SPF d'un autre domaine, utilisé pour ajouter un fournisseur, p. ex. include:_spf.google.com ou include:sendgrid.net.
  • a — autorise les adresses IP de l'enregistrement A/AAAA du domaine.
  • mx — autorise les serveurs listés dans les enregistrements MX du domaine.
  • ip4: / ip6: — autorise une adresse IP ou une plage précise, p. ex. ip4:203.0.113.10.
  • all — correspond à tout ; vient toujours en dernier et fixe la valeur par défaut pour tout ce qui n'a pas correspondu plus haut.

Les qualificateurs (le préfixe sur all)

Le caractère devant un mécanisme détermine ce qui se passe en cas de correspondance. Sur le all final, il fixe votre politique par défaut :

  • -all (fail) — tout ce qui n'est pas listé devrait être rejeté. Le réglage strict et recommandé une fois que vous êtes certain que votre enregistrement est complet.
  • ~all (softfail) — tout ce qui n'est pas listé est suspect mais accepté, généralement marqué. Un bon point de départ.
  • ?all (neutral) — aucune opinion. N'offre presque aucune protection.
  • +all — autorise tout le monde. Ne l'utilisez jamais ; il permet à n'importe qui d'envoyer en votre nom.

Pour assembler le tout : v=spf1 include:_spf.google.com include:sendgrid.net ip4:203.0.113.10 ~all signifie « Google, SendGrid et cette adresse IP peuvent envoyer en mon nom ; traitez tout le reste en softfail ».

La limite de 10 requêtes — l'échec silencieux le plus courant

SPF autorise un maximum de 10 requêtes DNS lors de l'évaluation de votre enregistrement. Des mécanismes comme include, a et mx coûtent chacun une requête — et un include peut déclencher d'autres requêtes à l'intérieur de l'enregistrement inclus. Dépassez 10 et SPF retourne un permerror, que la plupart des destinataires traitent comme un échec. Votre SPF cesse alors de fonctionner, souvent sans symptôme évident.

C'est étonnamment facile à atteindre : quelques outils de marketing, un CRM et un service d'assistance peuvent dépasser 10 à eux seuls. Les mécanismes ip4: et ip6: ne coûtent aucune requête, alors « l'aplatissement » — remplacer les includes par leurs adresses IP résolues — est une solution, au prix de devoir maintenir ces adresses IP à la main.

SPF et le transfert

SPF a une faiblesse intrinsèque : quand un message est transféré, le serveur de transfert devient le nouvel expéditeur, et votre SPF ne correspond plus à son adresse IP — donc SPF échoue. C'est voulu, et c'est exactement pourquoi DKIM et DMARC existent. DKIM survit au transfert parce que la signature voyage avec le message, et c'est pourquoi vous ne devriez jamais vous fier au SPF seul.

Erreurs SPF courantes

  • Deux enregistrements SPF. Un seul enregistrement TXT v=spf1 est permis. Fusionnez-les en un seul.
  • Oublier un service d'envoi. Chaque outil qui envoie « en votre nom » doit figurer dans le SPF, sinon ses courriels sont en softfail/fail.
  • Utiliser +all ou omettre all. Dans les deux cas, vous avez autorisé le monde entier.
  • Dépasser 10 requêtes. Auditez et élaguez régulièrement.
  • Croire que le SPF suffit. Ce n'est pas le cas — associez-le à DKIM et DMARC.

Vérifiez et construisez votre enregistrement SPF

Le vérificateur SPF analyse votre enregistrement, compte vos requêtes DNS, signale les problèmes de syntaxe et vous aide à en construire un correct pour vos fournisseurs. Pour la vue d'ensemble, consultez SPF, DKIM et DMARC expliqués et DKIM expliqué.