Qu'est-ce qu'un enregistrement SPF ?

SPF (Sender Policy Framework) est un enregistrement TXT dans lequel un domaine liste les serveurs autorisés à envoyer des e-mails en son nom, afin que les destinataires repèrent les e-mails de sources non autorisées.

Un enregistrement SPF commence par v=spf1, suivi de mécanismes : ip4 et ip6 pour des plages d'adresses, a et mx pour les hôtes du domaine lui-même, et include pour reprendre la liste d'un fournisseur qui envoie des e-mails pour vous. Il se termine par une règle générale : -all (rejeter tout le reste), ~all (échec souple : accepter, mais avec méfiance) ou ?all (aucune position).

Le serveur destinataire compare l'adresse IP qui se connecte à l'enregistrement SPF du domaine de l'expéditeur de l'enveloppe (le Return-Path), et non à l'adresse From que voit l'utilisateur. C'est cet écart que DMARC comble, en exigeant que le domaine SPF soit aligné sur le domaine From visible.

Deux limites causent la plupart des échecs SPF. Un domaine ne peut publier qu'un seul enregistrement v=spf1 ; deux enregistrements produisent une erreur permanente. Et l'évaluation peut déclencher au plus dix requêtes DNS, en comptant include, a, mx, exists et redirect, y compris imbriqués ; dépasser cette limite est aussi une erreur permanente. SPF casse également lorsque les e-mails sont transférés, car l'adresse IP du serveur qui transfère ne figure pas dans votre enregistrement : une raison de signer aussi les e-mails avec DKIM.

Exemple

example.com.  3600  IN  TXT  "v=spf1 ip4:192.0.2.0/24 include:_spf.mailer.example -all"

Vérifier

Voyez ce que cela donne sur un vrai domaine (SPF) :

Vérificateur SPF