Dernière mise à jour : juillet 2026
En bref : après ce guide, ta zone DNS hébergée chez Hetzner publie un enregistrement SPF correct pour ton serveur de messagerie. Les serveurs destinataires peuvent alors reconnaître qui est autorisé à envoyer en ton nom.
Prérequis
- Une zone DNS chez Hetzner (Hetzner Console ; les zones existantes peuvent encore se trouver dans l’ancienne DNS Console)
- Tu sais quels serveurs envoient des e-mails pour ton domaine (ton propre serveur de messagerie, une boîte mail d’hébergement, un service de newsletter)
Qu’est-ce que SPF ?
SPF (Sender Policy Framework) est un enregistrement TXT dans le DNS de ton domaine. La documentation de Hetzner le formule de façon concise : un enregistrement TXT est ajouté au fichier de zone pour lister les serveurs SMTP autorisés du domaine. Les serveurs de messagerie destinataires vérifient à chaque message entrant si le serveur qui livre le message figure sur cette liste. Sans SPF, n’importe quel serveur peut envoyer des e-mails en ton nom — et tes e-mails légitimes finissent plus vite dans les spams.
Pour situer les choses : SPF seul n’est pas une protection complète. Ce n’est qu’associé à DKIM et DMARC qu’il devient une base solide. Mais SPF est le point d’entrée le plus simple.
Le point de départ chez Hetzner
Hetzner DNS est un service DNS pur : contrairement aux hébergements mutualisés, il n’y a pas d’interrupteur SPF prêt à l’emploi, car Hetzner ne sait pas où tourne ta messagerie. Tu écris l’enregistrement toi-même — ce qui convient bien ici, puisqu’en tant qu’utilisateur de Hetzner DNS, tu exploites de toute façon généralement ta propre infrastructure.
Exception : si tu utilises konsoleH (l’hébergement web Hetzner) avec les serveurs de noms konsoleH, le système définit automatiquement un enregistrement SPF par défaut — là, tu ne dois intervenir que si des services externes doivent aussi envoyer.
Guide étape par étape
1. Vérifier si SPF est déjà actif
Le plus rapide, via le terminal :
dig TXT example.com +short | grep spf1
Autre possibilité : entre ton domaine dans le scanner MXAudit gratuit — il vérifie en même temps la syntaxe de l’enregistrement et les limites de lookups.
2. Construire l’enregistrement pour ta configuration
Le cas classique, quand ce sont les mêmes serveurs qui envoient et reçoivent (ton MX pointe vers ton serveur de messagerie) :
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 l’enregistrement MX est juste.
Si des machines supplémentaires envoient sans figurer dans le MX (par ex. un hôte d’envoi séparé), tu les ajoutes explicitement — l’exemple de la documentation de Hetzner :
v=spf1 mx ip4:213.133.98.98 a:test.example.com -all
| Mécanisme | Effet |
|---|---|
mx | autorise les serveurs derrière les enregistrements MX de ton domaine |
ip4: / ip6: | autorise une adresse IP fixe ou un sous-réseau |
a:host | autorise l’IP derrière l’enregistrement A/AAAA du nom d’hôte indiqué |
-all | hardfail : seuls les serveurs explicitement listés peuvent envoyer |
Avec ta propre infrastructure, -all est le bon choix — tu connais tes chemins d’envoi. Si tu as un doute pendant une reconstruction, commence par ~all et resserre en -all après quelques jours.
3. Saisir l’enregistrement dans la Hetzner Console
Ouvre ta zone DNS et crée un nouvel enregistrement :
| Champ | Valeur |
|---|---|
| Type | TXT |
| Nom | @ (pour le domaine principal) |
| Valeur | "v=spf1 mx -all" |
Deux particularités Hetzner tirées de la documentation : pour le domaine principal, @ va dans le champ Nom, et la valeur TXT doit être entre guillemets.
4. Ajouter des services d’envoi externes (si nécessaire)
Un outil de newsletter, un CRM ou un système de ticketing a besoin de sa valeur include: dans le même enregistrement (depuis la documentation du service, cherche « SPF »). La règle tient : un seul enregistrement SPF par domaine — modifie l’existant, ne crée jamais un second. La même chose s’applique dans konsoleH : les services externes doivent être ajoutés à l’enregistrement défini automatiquement.
5. Attendre que la modification soit en ligne
Les modifications DNS prennent du temps : selon le TTL et la mise en cache, il peut s’écouler quelques heures avant que chaque serveur dans le monde voie le nouvel enregistrement.
Transfert : pourquoi SPF y casse — et ce que SRS vient y faire
La documentation de Hetzner explique un point plus en profondeur que la plupart des hébergeurs : le transfert automatique ne fonctionne avec SPF que si le serveur de transfert réécrit l’adresse d’expéditeur dans l’enveloppe — sinon, le destinataire final vérifie ton enregistrement SPF par rapport à l’IP du serveur de transfert et le rejette. La méthode de réécriture standardisée s’appelle SRS (Sender Rewriting Scheme). Si tu exploites toi-même un serveur de transfert, active SRS ; en tant qu’expéditeur, tu ne peux rien faire contre le transfert mal configuré de quelqu’un d’autre — c’est à cela que servent DKIM et DMARC.
Vérifier le résultat
Vérifie ta configuration avec le scanner MXAudit gratuit — il 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 spf1
La sortie doit contenir exactement un enregistrement avec v=spf1.
Erreurs fréquentes
Oublier les guillemets. Dans la Hetzner Console, la valeur TXT doit être entre guillemets — sans eux, l’enregistrement n’est pas créé correctement.
Deux enregistrements SPF. Deux entrées TXT avec v=spf1 provoquent un permerror — les serveurs destinataires ignorent alors totalement SPF. Toutes les sources doivent tenir dans un seul enregistrement.
mx sans enregistrements MX correspondants. v=spf1 mx -all autorise exactement les serveurs de tes enregistrements MX. Si une machine envoie sans y apparaître (par ex. une tâche cron sur le serveur web), elle est rejetée — ajoute-la via ip4: ou a:.
+all à la fin. Un +all autorise n’importe quel serveur à envoyer et rend tout l’enregistrement inutile — ne le copie pas.
Dépassement de la limite de lookups DNS. SPF autorise au maximum 10 lookups DNS par vérification ; mx, a: et chaque include: comptent. Avec beaucoup de services externes, cela devient serré — MXAudit compte pour toi.
Pour aller plus loin
- Docs Hetzner : enregistrements SPF (consulté le 10 juillet 2026)
- Docs Hetzner : enregistrements TXT (Hetzner Console) (consulté le 10 juillet 2026)
- Docs Hetzner : sécurité e-mail konsoleH (consulté le 10 juillet 2026)
- RFC 7208 — Sender Policy Framework (SPF)
