Aller au contenu
Retour à la bibliothèqueAuthentification e-mail

SPF softfail (~all) ou hard fail (-all) : lequel choisir

Samuel ChenardPar Samuel Chenard3 novembre 2026Lu en 12 min

L’essentiel

SPF hard fail (-all) ou softfail (~all) : le sens de chaque qualificateur, pourquoi le hard fail casse les e-mails transférés, et pourquoi ~all et DMARC conviennent.

SPF softfail (~all) ou hard fail (-all) : lequel choisir

Utilisez ~all (softfail) sur les domaines qui envoient des e-mails, et -all (hard fail) seulement sur ceux qui n’en envoient aucun. Le hard fail semble plus sûr, mais une fois votre politique DMARC appliquée, le softfail protège autant contre l’usurpation, sans rejeter les e-mails transférés légitimes.

Comparatif de tous les qualificateurs SPF all :

QualificateurNomSensRéaction type du destinataire
-allHard failExpéditeurs non listés non autorisésPeut rejeter le message à la livraison
~allSoftfailExpéditeurs non listés sans doute non autorisésAccepté mais jugé suspect, souvent classé en spam
?allNeutreAucune assertion sur les non listésTraité comme une absence de politique SPF
+allPassTous les serveurs autorisésÀ ne jamais utiliser : il autorise tout internet

La suite explique ce verdict : comment les serveurs de messagerie interprètent vraiment chaque qualificateur, pourquoi le transfert casse le hard fail, et comment DMARC change entièrement la donne.

En bref

Points clés

  • Le mécanisme all correspond toujours : sa place est en fin d’enregistrement SPF.
  • -all renvoie fail pour un client absent des mécanismes précédents, et les destinataires peuvent le rejeter d’emblée.
  • ~all renvoie softfail : examen possible, mais un rejet sur ce seul motif est déconseillé.
  • DMARC ne distingue pas softfail et fail : ~all ne vous coûte donc rien une fois DMARC appliqué.
  • À cause du transfert, le hard fail perd des e-mails légitimes que le softfail garde.
  • Sur un domaine d’envoi, ~all est l’état final, pas une étape vers -all.
  • Un domaine qui n’envoie aucun e-mail doit publier v=spf1 -all avec DMARC p=reject.

Que signifient ~all et -all dans un SPF ?

Le mécanisme all se place à la fin d’un enregistrement SPF et indique aux serveurs de réception que faire des e-mails d’expéditeurs non listés plus haut. Le qualificateur devant all fixe le verdict :

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

Un e-mail venant d’ailleurs que de Google reçoit un softfail : probablement non autorisé, mais à ne pas bloquer d’emblée.

Exemple techniquetext
v=spf1 include:_spf.google.com -all

Le même e-mail non listé reçoit un hard fail : non autorisé, à rejeter.

Le reste de l’enregistrement fonctionne à l’identique. Seule change la fermeté avec laquelle vous demandez de traiter les expéditeurs non listés. Pour le détail des mécanismes et qualificateurs, voir le guide de syntaxe SPF et le mécanisme final all.

Softfail ou hard fail : que font les serveurs ?

SPF produit un signal, et le serveur de réception décide de l’issue. La RFC 7208 définit ainsi les résultats :

  • Fail (-all) déclare explicitement que le client n’est pas autorisé à utiliser l’identité. Les destinataires ont le droit de rejeter le message d’emblée pendant la transaction SMTP.
  • Softfail (~all) se situe entre neutral et fail : le domaine pense que l’e-mail n’est probablement pas autorisé, sans certitude. La RFC dit que le logiciel de réception SHOULD NOT rejeter un message sur la seule base d’un softfail, mais MAY l’examiner de plus près que d’habitude, ce qui veut souvent dire, en pratique, le dossier spam.
Voyez -all comme un feu rouge et ~all comme un feu orange. L’un arrête le message, l’autre dit d’avancer avec prudence.

Notez ce que SPF évalue : une identité SMTP, normalement l’expéditeur d’enveloppe, pas l’adresse que l’on voit dans son client de messagerie. La présentation de SPF explique le choix de cette identité. Le domaine From visible est protégé par l’alignement DMARC, souvent avec DKIM comme second chemin d’authentification.

Et ?all et +all ?

SPF définit deux autres qualificateurs finaux, ?all et +all. Aucun ne convient à un domaine d’envoi en production :

  • ?all (neutre) n’affirme rien. Les expéditeurs non listés ne sont ni autorisés ni interdits, donc les destinataires le traitent à peu près comme une absence de politique SPF. Son seul usage légitime : un test bref pendant l’inventaire des expéditeurs.
  • +all (pass) déclare que tout serveur d’internet peut envoyer au nom de votre domaine. Il aide activement les usurpateurs, et de nombreux filtres le traitent comme un signal de spam en soi. Rien ne justifie de le publier.
Si votre enregistrement finit sans mécanisme all ni redirect, les expéditeurs non reconnus sont neutral par défaut. Un enregistrement complet doit donc toujours finir par un ~all ou -all explicite.

Pourquoi le transfert casse le hard fail ?

Le transfert casse le hard fail SPF car le serveur de transfert relaie votre message depuis sa propre IP, absente de votre enregistrement SPF. SPF ne distingue pas ce saut d’une usurpation : il échoue donc sur un e-mail que vous avez légitimement envoyé. Voici la séquence :

  1. Si un destinataire transfère d’office votre e-mail, disons d’une adresse pro vers Gmail, son serveur de transfert devient le serveur d’envoi.
  2. Ce serveur de transfert n’est pas dans votre SPF, donc SPF échoue.
  3. Avec -all, le destinataire peut rejeter le message transféré sur le seul résultat SPF. Un e-mail légitime est perdu.
  4. Avec ~all, le message est accepté avec suspicion, ce qui laisse à DKIM et DMARC la chance de l’authentifier correctement.
Ce n’est pas théorique. Certains destinataires agissent sur un hard fail SPF avant même le traitement DMARC : un message peut donc être rejeté alors que sa signature DKIM valide aurait réussi DMARC.

Avec DMARC, ~all est-il moins sûr que -all ?

Non. Avec une politique DMARC appliquée, softfail et hard fail protègent autant contre l’usurpation. La RFC 9989, la spécification DMARC actuelle qui rend obsolète la RFC 7489, évalue SPF comme réussi ou non, plus l’alignement avec le domaine From visible. Elle ne distingue pas un échec léger d’un échec strict :

  • Si SPF ou DKIM réussit et s’aligne, le message réussit DMARC.
  • Sinon, votre politique DMARC, p=quarantine ou p=reject, s’applique.
Un message usurpé qui tombe sur ~all est donc toujours mis en quarantaine ou rejeté par l’application de DMARC, exactement comme avec -all. Et l’e-mail transféré légitime garde sa chance de réussir via DKIM. Le socle de l’authentification moderne, c’est DMARC plus DKIM. SPF est un signal d’appui, pas le seul gardien.

Que recommande le secteur ?

Pour un domaine qui envoie des e-mails, le secteur recommande ~all. Le monde de DMARC et de la délivrabilité penche de ce côté, et le dit publiquement :

  • Google Workspace recommande clairement le softfail. Sa documentation SPF donne v=spf1 include:_spf.google.com ~all pour un domaine uniquement Workspace, et prévient qu’avec un hard fail, « les messages qui échouent au contrôle SPF risquent davantage d’être rejetés par le serveur de réception, et vous ne pouvez pas les utiliser pour dépanner votre SPF ».
  • Al Iverson, de Spam Resource, a répondu directement. Sa réponse générale était -all, mais il a ajouté une mise à jour pour qui utilise DMARC : dès que votre politique est à p=quarantine ou p=reject, « ~all (tilde all) est probablement la meilleure option », car les échecs SPF évalués avant DMARC peuvent causer des rejets absents de vos rapports DMARC.
  • La RFC 7208 explique pourquoi les deux résultats se comportent différemment : elle demande aux destinataires de ne pas rejeter sur un simple softfail.
Les opérateurs sous-estiment ce point du milieu. Un rejet hard fail a lieu pendant la transaction SMTP : le message disparaît avant que les rapports DMARC puissent l’enregistrer. Vous perdez justement la preuve qu’il faut pour trouver l’expéditeur oublié.

La dissidence notable vient de Microsoft. Ses consignes SPF pour Microsoft 365 recommandent -all, au motif que « la politique DMARC est en pratique ignorée pour les échecs SPF ~all si les messages ne contiennent pas aussi de signature DKIM ». Lisez bien cette condition, car tout l’argument est là : elle vise les messages sans aucune signature DKIM. La spécification DMARC ne distingue pas softfail et fail : cela décrit le comportement d’un destinataire, pas la norme. Signez chaque service d’envoi avec DKIM, ce qu’il faut faire de toute façon, et l’objection ne vise plus vos e-mails.

Lequel utiliser : ~all ou -all ?

Le choix entre ~all et -all dépend du rôle du domaine, pas du qualificateur qui semble le plus strict. Décidez selon ce que fait le domaine :

  • Le domaine envoie des e-mails (votre domaine principal) : utilisez ~all, activez DKIM sur chaque service d’envoi, et appliquez DMARC à p=quarantine puis p=reject. Cela bloque l’usurpation sans perdre les e-mails transférés.
  • Le domaine n’envoie aucun e-mail (domaines parqués ou web seuls) : publiez l’enregistrement nu v=spf1 -all avec DMARC p=reject. Rien de légitime ne peut se perdre, et l’usurpation est totalement bloquée.
  • Vous inventoriez encore vos expéditeurs : utilisez ~all, où un domaine d’envoi finit de toute façon. L’inventaire change les expéditeurs autorisés, pas le qualificateur final.
Trois cas pour choisir un qualificateur SPF final : softfail si le domaine envoie, hard fail s’il n’envoie rien, et softfail tant que l’inventaire des expéditeurs reste ouvert.
Source : résultats selon la RFC 7208 ; évaluation DMARC selon la RFC 9989.

Aucune date de migration de ~all vers -all n’existe dans le secteur, ni bonus de délivrabilité à la clé. Sur un domaine qui envoie, ~all est l’état final, pas un tremplin : ce que vous durcissez avec le temps, c’est la politique DMARC, pas le qualificateur SPF. Si vous modifiez l’enregistrement pour une raison quelconque, gardez l’ancienne valeur et son TTL pour pouvoir revenir en arrière.

Comment déployer ~all et DMARC sans risque ?

Pour déployer ~all et DMARC sans risque, publiez d’abord le softfail et signez chaque expéditeur avec DKIM, avant de durcir la politique DMARC. Suivez les six étapes dans l’ordre :

  1. Publiez SPF en softfail, avec chaque service d’envoi légitime :
Exemple techniquetext
v=spf1 include:_spf.google.com include:sendgrid.net ~all

Cet enregistrement est un exemple. Publiez les mécanismes documentés pour vos propres expéditeurs, pas ces valeurs.

  1. Activez la signature DKIM pour chaque service qui envoie au nom du domaine. C’est ce qui rend le softfail sûr et répond à l’objection de Microsoft ci-dessus.
  2. Publiez un DMARC à p=none pour commencer. Le générateur DMARC le construit correctement.
  3. Surveillez les rapports agrégés jusqu’à ce que chaque source légitime réussisse avec alignement. Ces rapports mettent un jour ou plus à arriver. Pour un avis immédiat sur un flux, le test de délivrabilité note un message que vous envoyez et montre si SPF et DKIM sont alignés.
  4. Passez DMARC à p=quarantine, puis p=reject. C’est là que se joue la vraie protection contre l’usurpation.
  5. Tenez l’enregistrement à jour à chaque nouvel outil, sous la limite SPF de 10 termes à requête DNS.
Liste de contrôle pour choisir un qualificateur SPF final sans perdre d’expéditeur légitime.
Source : la liste suit les règles de la RFC 7208 : autorisation, limites de traitement, preuves du destinataire.

Validez la configuration finale à tout moment avec le test SPF : un seul enregistrement SPF, une syntaxe valide, all en dernier et une évaluation sous la limite de 10 termes.

Vérifiez d’abord le SPF publié

Passez le domaine dans le test SPF de Palisade avant de changer le qualificateur, puis comparez son résultat DNS avec l’identité évaluée et l’IP de connexion d’un message livré. Le test lit l’enregistrement public ; il ne peut pas reproduire la décision privée d’un destinataire.

Si les changements fréquents d’expéditeurs compliquent l’inventaire, le guide de remédiation de l’agent DMARC de Palisade montre comment les constats des rapports deviennent des tâches SPF, DKIM et d’alignement par source. Commencez s’il ne reste qu’à suivre les expéditeurs par les rapports.

Preuve

Sources et pour aller plus loin

Questions des lecteurs

Questions fréquentes

Qu’est-ce qu’un softfail ?

Un softfail SPF est le résultat ~all : le serveur d’envoi ne figure pas dans le SPF du domaine, qui signale donc que l’e-mail n’est probablement pas autorisé, sans demander aux destinataires de le rejeter. Le message est quand même livré, souvent sous surveillance accrue, ce qui veut souvent dire le dossier spam. Ce comportement « livrer mais se méfier » explique pourquoi le softfail va bien avec DMARC : les e-mails transférés légitimes passent, et DMARC gère l’application.

Que signifie spf=softfail dans un en-tête ?

Le serveur d’envoi ne figurait pas dans le SPF du domaine, et l’enregistrement se termine par ~all. Le destinataire a accepté le message mais l’a signalé comme suspect. S’il s’agit de votre propre e-mail, ajoutez le service d’envoi à votre SPF.

~all nuit-il à la délivrabilité face à -all ?

Non. Les fournisseurs de messagerie jugent vos e-mails sur l’authentification, la réputation du domaine et l’engagement, pas sur le qualificateur final du SPF. Le guide Workspace de Google utilise ~all dans son enregistrement recommandé.

Puis-je commencer par -all et assouplir en cas de souci ?

Oui, mais c’est à l’envers. Les problèmes se voient sous forme d’e-mails légitimes rejetés en silence, découverts une fois le mal fait, et les rejets hard fail n’arrivent souvent jamais dans vos rapports DMARC. Commencer par ~all et durcir au niveau DMARC mène au même état final, avec de la visibilité à chaque étape.

Faut-il encore DKIM si mon SPF est bien configuré ?

Oui. SPF seul casse au transfert et résiste mal aux listes de diffusion, et DMARC exige au moins une réussite alignée. Les signatures DKIM voyagent avec le message : c’est la moitié la plus robuste du duo. Configurez les deux.

-all vaut-il DMARC p=reject ?

Non. Le qualificateur SPF décrit l’autorisation d’une identité SPF. La politique et l’alignement DMARC régissent le domaine From visible, et les deux se règlent séparément.

Domaine sans envoi : publier v=spf1 -all ?

Oui, et il le devrait. Cet enregistrement indique qu’aucun client SMTP n’est autorisé pour le domaine. Associez-le à DMARC p=reject pour protéger aussi le domaine From visible.

Gérez vos changements SPF avec Palisade

Démarrez sur Palisade.

Commencer
Réglages de domaine Palisade avec Hosted SPF activé

Partager cet article

Samuel Chenard

Rédigé par

Samuel Chenard

CEO et cofondateur, Palisade

Samuel Chenard est CEO et cofondateur de Palisade, logiciel DMARC agentique pour équipes IT et MSP, d’un domaine à des milliers.

Lire Samuel →

Articles et outils liés