Guide SPF : déclarer qui envoie vos e-mails
SPF liste les serveurs autorisés à envoyer des e-mails au nom de votre domaine. Voici comment l'écrire, le configurer pour Microsoft 365 ou Google Workspace, et éviter les erreurs qui le rendent invalide.
À quoi sert SPF
Rien n'empêche techniquement un serveur quelconque d'envoyer un e-mail qui se présente comme venant de exemple.nc. SPF (Sender Policy Framework, RFC 7208) permet au propriétaire du domaine de publier, dans un enregistrement TXT, la liste des serveurs autorisés à envoyer pour lui.
Le serveur qui reçoit un e-mail compare l'adresse IP de l'expéditeur à cette liste. Si elle n'y figure pas, le dernier terme de l'enregistrement, all, dit quoi faire : rejeter, marquer comme suspect ou ne rien conclure.
SPF vérifie l'adresse technique d'expédition (le « Return-Path »), pas l'adresse affichée au destinataire. C'est DMARC qui relie les deux et protège réellement contre l'usurpation de votre adresse.
Un enregistrement SPF commenté
Un domaine qui envoie ses e-mails avec Microsoft 365, ses lettres d'information avec Brevo, et les alertes d'un serveur interne depuis une adresse fixe :
exemple.nc. TXT "v=spf1 include:spf.protection.outlook.com include:spf.brevo.com ip4:203.0.113.25 -all"
| Terme | Signification |
|---|---|
v=spf1 | Début obligatoire de tout enregistrement SPF. |
include:spf.protection.outlook.com | Autorise les serveurs listés par le SPF de Microsoft 365. Coûte une requête DNS, plus celles de l'enregistrement inclus. |
include:spf.brevo.com | Autorise les serveurs de Brevo. |
ip4:203.0.113.25 | Autorise une adresse IPv4 précise (ou une plage, avec un masque comme /28). Ne coûte aucune requête DNS. |
-all | Tout autre serveur est refusé. |
Les autres mécanismes sont a (les adresses du domaine), mx (celles de ses serveurs MX), exists, ip6 et ptr, déconseillé. Le modificateur redirect= délègue toute la politique à un autre domaine.
Les quatre terminaisons
-all(échec) : les serveurs non listés sont refusés. C'est la terminaison recommandée.~all(échec léger) : les e-mails sont acceptés mais marqués comme suspects. Suffisant si DMARC est enp=reject.?all(neutre) : aucune conclusion. Le SPF ne protège rien.+all: tout serveur au monde est autorisé. À ne jamais utiliser.
Configurer SPF pour Microsoft 365
- Listez tous les services qui envoient des e-mails avec votre domaine : Microsoft 365, mais aussi votre logiciel de lettres d'information, votre CRM, votre site web, vos copieurs ou votre logiciel métier.
- Chez l'hébergeur DNS de votre domaine, créez ou modifiez l'enregistrement TXT du domaine lui-même (nom
@, ou laissé vide selon l'interface) :v=spf1 include:spf.protection.outlook.com -all - Ajoutez avant
-allunincludeou une adresseip4pour chacun des autres services. Il ne doit rester qu'un seul enregistrementv=spf1. - Si votre DNS est géré par Microsoft 365, l'enregistrement se modifie dans le Centre d'administration Microsoft 365, rubrique Paramètres, puis Domaines.
- Relancez Domain Check une fois la modification visible.
Documentation Microsoft : configurer SPF pour Microsoft 365 (nouvel onglet).
Configurer SPF pour Google Workspace
- Chez l'hébergeur DNS de votre domaine, créez un enregistrement TXT sur le domaine lui-même :
v=spf1 include:_spf.google.com ~all - C'est la valeur que donne Google. Une fois tous vos services d'envoi listés, vous pouvez la terminer par
-all; avec un DMARC enp=reject,~allobtient de toute façon la note maximale dans Domain Check. - Ajoutez avant
alllesincludede vos autres services d'envoi, dans le même enregistrement.
Documentation Google : configurer SPF (nouvel onglet).
Configurer SPF chez un autre fournisseur
Chaque service d'envoi publie la valeur à inclure dans sa documentation. Quelques valeurs courantes, à confirmer auprès du service :
| Service | Terme à ajouter |
|---|---|
| OVHcloud | include:mx.ovh.com |
| Gandi | include:_mailcust.gandi.net |
| Infomaniak | include:spf.infomaniak.ch |
| Brevo | include:spf.brevo.com |
| Mailjet | include:spf.mailjet.com |
| SendGrid | include:sendgrid.net |
| Amazon SES | include:amazonses.com |
| Serveur à adresse fixe | ip4: suivi de l'adresse publique du serveur |
Assemblez-les en un seul enregistrement, par exemple v=spf1 include:mx.ovh.com include:spf.brevo.com -all. Si une valeur dépasse 255 caractères, l'enregistrement est découpé en plusieurs chaînes entre guillemets, que les serveurs recollent sans espace : "v=spf1 include:… " "include:… -all". La plupart des interfaces DNS le font pour vous.
La limite des 10 requêtes DNS
Pour vérifier un SPF, le destinataire ne fait pas plus de 10 requêtes DNS. Chaque include, a, mx, ptr, exists et redirect en coûte une, y compris dans les enregistrements inclus. Au-delà, le SPF est invalide et tous vos e-mails échouent au contrôle. Les termes ip4, ip6 et all ne coûtent rien. Domain Check compte ces requêtes et affiche l'arbre des inclusions.
Pour rester sous la limite : retirez les services que vous n'utilisez plus, remplacez a et mx par des adresses ip4 quand c'est possible, ou faites envoyer vos campagnes depuis un sous-domaine qui a son propre SPF.
Les erreurs fréquentes
- Deux enregistrements SPF. Ajouter un second
v=spf1pour un nouveau service, au lieu de compléter le premier, rend les deux invalides. - Un service oublié. Le logiciel de facturation ou le formulaire du site qui envoie au nom du domaine voit ses e-mails refusés dès le passage en
-all. - Plus de 10 requêtes DNS. Fréquent quand on cumule Microsoft 365, un CRM, une plateforme de lettres d'information et un outil de support.
- Un
includevers un nom qui n'existe plus. Service résilié ou faute de frappe : le SPF entier devient invalide. - La terminaison
+allou?all. Le SPF existe mais ne protège rien. Avec+all, Domain Check plafonne la note globale à 49. - Le mécanisme
ptr. Lent, peu fiable et déconseillé par la norme. - Les domaines qui n'envoient rien. Ils doivent publier
v=spf1 -all, sans quoi ils restent utilisables pour usurper votre nom.
Vérifiez votre SPF. Domain Check lit votre enregistrement, suit chaque inclusion, compte les requêtes DNS et vous propose un enregistrement corrigé, prêt à copier. Tester mon domaine