Présentation de la syntaxe SPF
La syntaxe des enregistrements SPF suit une forme spécifique : un seul enregistrement DNS TXT qui commence par v=spf1, suivi de termes séparés par des espaces — des mécanismes avec des qualificateurs optionnels, puis des modificateurs — évalués de gauche à droite jusqu'à la première correspondance.
Mécanismes SPF
Il existe huit mécanismes SPF, chacun correspondant à l'adresse IP de connexion ou non. Le RFC 7208 les divise en mécanismes de base (all, include) et en mécanismes de désignation d'expéditeurs (a, mx, ptr, ip4, ip6, exists). Les mécanismes les plus couramment utilisés sont include, ip4, ip6 et all.
Qualificateurs et modificateurs SPF
Un qualificateur est un caractère de préfixe qui définit le résultat renvoyé lorsque son mécanisme correspond. Les qualificateurs sont +, -, ~ et ?. Les modificateurs sont des paires nom=valeur qui fournissent des informations plutôt que d'être évalués. Les deux modificateurs définis par le RFC 7208 sont redirect et exp.
Macros et évaluation
Les macros sont des séquences %{...} qui sont développées au moment de l'évaluation à partir des propriétés du message. Elles sont utilisées pour construire des noms de domaine et des adresses IP. L'évaluation des enregistrements SPF se fait de gauche à droite, et la première correspondance détermine le résultat.
v=spf1 ip4:192.0.2.0/24 include:_spf.example.com -all
Cet exemple autorise un réseau /24 et les serveurs d'un tiers, puis échoue tout le reste.