Gratuit · sans compte

Vérificateur SPF et DMARC

Consultez en ligne les enregistrements SPF, DMARC, MTA-STS et CAA d’un domaine et voyez comment chacun est évalué. Saisissez le domaine depuis lequel vous envoyez vos e-mails, par exemple example.com plutôt que www.example.com.

Un contrôle gratuit des paramètres publics du site. Votre site web n’est pas modifié.

Sans inscription Aucun trafic destructif Contrôles de sites web publics
Référence des enregistrements

Ce que fait chaque enregistrement et comment il est évalué

Le vérificateur lit ces enregistrements sur le nom d’hôte saisi. L’absence de SPF, DMARC et MTA-STS n’est signalée que si l’hôte a des enregistrements MX, car un hôte qui ne reçoit pas d’e-mails n’en a pas besoin de la même façon.

EnregistrementOù il est publiéBonne configurationÉvaluation par ce vérificateur
MXEnregistrements MX sur le nom d’hôte.Présents sur les domaines qui reçoivent des e-mails.Comptés et affichés ; jamais un constat à eux seuls.
SPFUn enregistrement TXT commençant par v=spf1 sur le nom d’hôte.Un seul enregistrement SPF, qui liste chaque service envoyant des e-mails pour le domaine.Absent alors que l’hôte a des enregistrements MX : moyen. Le texte de l’enregistrement est affiché.
Mécanisme all du SPFLe dernier terme de l’enregistrement SPF.-all ou ~all.+all : élevé. ?all : faible. -all et ~all ne signalent rien.
Requêtes DNS du SPFLes termes include, a, mx, ptr, exists et redirect de l’enregistrement.Au plus dix termes qui nécessitent une requête DNS.Plus de dix dans l’enregistrement de premier niveau : moyen. Les cibles include: ne sont pas développées, donc les requêtes imbriquées ne sont pas comptées.
DMARCUn enregistrement TXT commençant par v=DMARC1 sur _dmarc.example.com pour example.com.p=quarantine ou p=reject une fois que les rapports montrent que tout le courrier légitime passe.Absent alors que l’hôte a des enregistrements MX : moyen. p=none : faible. quarantine ou reject : réussi. sp, pct, rua et l’alignement ne sont pas évalués. Sur un sous-domaine, les destinataires appliquent aussi la politique DMARC du domaine organisationnel, que ce contrôle ne lit pas.
MTA-STSUn enregistrement TXT commençant par v=STSv1 sur _mta-sts.example.com, plus un fichier de politique sur l’hôte mta-sts.L’enregistrement et le fichier de politique, en mode enforce une fois testés.Enregistrement absent alors que l’hôte a des enregistrements MX : faible. Seul l’enregistrement DNS est vérifié ; le fichier de politique n’est pas récupéré.
CAAEnregistrements CAA sur le nom d’hôte.Des enregistrements qui ne nomment que les autorités émettrices de certificats que vous utilisez.Tout enregistrement CAA : réussi. Aucun : faible. Le contenu n’est pas comparé à votre certificat. Sur un sous-domaine, les autorités émettrices de certificats respectent aussi le CAA du domaine parent, que ce contrôle ne lit pas.
DKIMEnregistrements TXT sur selector._domainkey.example.com.Une clé pour chaque service qui signe vos e-mails.Non vérifié : les noms de sélecteur ne peuvent pas être découverts à partir du seul DNS.

Les rapports TLS, DNSSEC et BIMI ne sont pas vérifiés.

Comment corriger

Comment corriger les problèmes SPF et DMARC courants

Modifiez un seul enregistrement à la fois et laissez au DNS le temps de se mettre à jour avant de vérifier à nouveau. Les exemples utilisent example.com et des services fictifs ; remplacez-les par votre domaine et par les services qui envoient réellement vos e-mails.

Publier DMARC en mode surveillance

Ajoutez un seul enregistrement TXT sur _dmarc du domaine de votre adresse From. p=none ne change rien à la distribution, et rua demande aux destinataires des rapports agrégés qui montrent quels serveurs envoient des e-mails au nom de votre domaine et s’ils passent SPF ou DKIM avec alignement. Si les rapports partent vers un autre domaine, celui-ci doit publier un enregistrement qui les autorise.

; DMARC record for example.com, monitoring only
_dmarc.example.com.  TXT  "v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com"

; Only if rua points to another domain, for example rua=mailto:reports@example.net,
; example.net publishes:
example.com._report._dmarc.example.net.  TXT  "v=DMARC1"

Passer à quarantine, puis à reject

Quand les rapports montrent que toutes les sources légitimes passent, passez à p=quarantine, surveillez de nouveau les rapports, puis passez à p=reject. La RFC 7489 proposait pct pour appliquer la politique à une partie du courrier en échec. La RFC 9989, qui la remplace, supprime pct parce que les valeurs partielles étaient appliquées de façon inégale, et ajoute t=y, qui demande aux destinataires d’appliquer un niveau en dessous de la politique publiée. Les destinataires qui suivent encore la RFC 7489 ignorent t=y : ajoutez donc aussi pct=0 pendant le test, ce qui leur demande le même traitement d’un niveau inférieur. Retirez les deux balises pour appliquer la politique.

; Publish one version at a time, in this order, after p=none
; 1. Quarantine in test mode (t=y, plus pct=0 for RFC 7489 receivers), then in full
_dmarc.example.com.  TXT  "v=DMARC1; p=quarantine; t=y; pct=0; rua=mailto:dmarc-reports@example.com"
_dmarc.example.com.  TXT  "v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@example.com"
; 2. Reject in test mode, then in full
_dmarc.example.com.  TXT  "v=DMARC1; p=reject; t=y; pct=0; rua=mailto:dmarc-reports@example.com"
_dmarc.example.com.  TXT  "v=DMARC1; p=reject; rua=mailto:dmarc-reports@example.com"

Un seul enregistrement SPF par domaine

Un nom ne peut porter qu’un seul enregistrement TXT commençant par v=spf1 ; avec deux, SPF échoue avec une erreur permanente. Regroupez tous les expéditeurs dans un seul enregistrement. include: consulte l’enregistrement propre d’un fournisseur, et redirect= confie toute la politique à un autre domaine, ce qui est utile quand plusieurs domaines partagent une politique. redirect= est ignoré si l’enregistrement contient aussi un terme all.

; Before: two SPF records on one name (permerror)
example.com.  TXT  "v=spf1 include:_spf.mailhost.example ~all"
example.com.  TXT  "v=spf1 include:spf.newsletter.example ~all"

; After: one record
example.com.  TXT  "v=spf1 include:_spf.mailhost.example include:spf.newsletter.example ~all"

; Another domain that uses the same policy
example.org.  TXT  "v=spf1 redirect=example.com"

Pas plus de dix requêtes DNS

SPF autorise au plus dix termes qui demandent une requête DNS, en comptant chaque include imbriqué : include, a, mx, ptr, exists et redirect. Un de plus et SPF échoue avec une erreur permanente. Retirez les include des services que vous n’utilisez plus, remplacez a et mx par des plages ip4 ou ip6 que vous contrôlez, supprimez ptr et déplacez un expéditeur de masse vers un sous-domaine doté de son propre enregistrement SPF. Copier les adresses d’un fournisseur dans votre enregistrement économise aussi des requêtes, mais la copie devient obsolète quand le fournisseur les change. Ce vérificateur ne compte que les termes du niveau supérieur.

; One lookup each: include, a, mx, ptr, exists, redirect (plus every lookup inside an include)
; No lookup: ip4, ip6, all

; Before: 4 lookups in the top-level record alone
example.com.       TXT  "v=spf1 a mx include:_spf.mailhost.example include:spf.oldtool.example ~all"

; After: fixed address, unused service removed, bulk mail on its own subdomain
example.com.       TXT  "v=spf1 ip4:192.0.2.10 include:_spf.mailhost.example ~all"
news.example.com.  TXT  "v=spf1 include:spf.newsletter.example ~all"

Choisir ~all ou -all avec soin

Terminez l’enregistrement par ~all (softfail) ou -all (fail), jamais par +all, qui laisse passer n’importe quel serveur. -all est le signal le plus strict, mais un destinataire qui vérifie SPF tôt peut alors rejeter un e-mail transféré avant que DMARC ne voie sa signature DKIM valide. Avec une politique DMARC appliquée, ~all laisse la décision à DMARC. Un domaine qui n’envoie pas d’e-mails peut publier v=spf1 -all.

; Choose one ending for example.com, not both
example.com.  TXT  "v=spf1 include:_spf.mailhost.example ~all"
example.com.  TXT  "v=spf1 include:_spf.mailhost.example -all"

; A domain that sends no mail
example.net.  TXT  "v=spf1 -all"

Aligner DKIM sur votre domaine From

DMARC passe quand SPF ou DKIM passe pour un domaine aligné sur l’adresse From. Beaucoup de services signent par défaut avec leur propre domaine, ce qui passe DKIM mais pas l’alignement. Activez dans chaque service la signature avec votre propre domaine, pour que la signature porte d=example.com, et publiez la clé ou le CNAME que le service vous indique sous son sélecteur. L’alignement souple, celui par défaut, accepte tout sous-domaine du même domaine organisationnel ; adkim=s et aspf=s exigent une correspondance exacte.

; Key for a sending service, selector s1: a CNAME or a TXT record, as the service says
s1._domainkey.example.com.  CNAME  s1.dkim.mailhost.example.
s1._domainkey.example.com.  TXT    "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOC..."

; Aligned signature in a delivered message: d= matches the From domain
From: news@example.com
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=s1; ...

Une modification DNS peut mettre la durée du TTL de l’ancien enregistrement à atteindre tous les résolveurs. Relancez ensuite le vérificateur sur le domaine de votre adresse From, car il lit exactement le nom d’hôte saisi.

Lire le résultat

Comment lire chaque statut.

  1. 01RéussiL’enregistrement a été trouvé et satisfait le contrôle.
  2. 02Faible · Moyen · ÉlevéUn enregistrement manque ou est configuré d’une façon que ce contrôle signale. Le niveau est le même que dans le snapshot complet.
  3. 03ObservéUn enregistrement a été relevé, mais le contrôle n’a produit ni réussite ni constat.
  4. 04Rien observéLe contrôle a été exécuté mais n’a trouvé aucun enregistrement à afficher.
  5. 05Non applicableLe contrôle ne s’applique pas, par exemple SPF ou DMARC quand l’hôte n’a pas d’enregistrement MX.
  6. 06Non mesuréLa requête DNS a échoué, le contrôle n’est donc pas compté comme réussi.
Périmètre

Ce que ce vérificateur ne fait pas.

  1. 01Il lit les enregistrements sur le nom d’hôte exact saisi. Pour www.example.com, il interroge www.example.com et _dmarc.www.example.com, pas example.com.
  2. 02Le nom d’hôte doit résoudre vers une adresse. Un domaine utilisé uniquement pour l’e-mail, sans enregistrement A ou AAAA, n’obtient pas de résultat ici.
  3. 03Il ne vérifie ni DKIM, ni les rapports TLS, ni DNSSEC, et ne développe pas les termes include: du SPF.
  4. 04Les enregistrements de messagerie sont lus uniquement dans le DNS public, et aucun e-mail n’est envoyé. La même exécution envoie aussi quelques requêtes ordinaires à la page d’accueil pour les sept autres contrôles. Ce n’est ni un test de délivrabilité, ni un scan de vulnérabilités, ni un test d’intrusion.
  5. 05Le résultat est une vue ponctuelle ; les changements DNS peuvent mettre du temps à atteindre chaque résolveur.
FAQ

Questions sur le contrôle SPF et DMARC.

Pourquoi www.example.com n’affiche-t-il aucun enregistrement SPF ?

Le vérificateur lit le nom d’hôte exact. Les enregistrements de messagerie se trouvent généralement sur le domaine depuis lequel vous envoyez vos e-mails : saisissez donc example.com lui-même.

p=none est-il une erreur ?

p=none est le mode de surveillance. C’est une première étape normale pendant que vous lisez les rapports DMARC, il est donc évalué faible. Passez à quarantine ou reject une fois que tout le courrier légitime passe.

Pourquoi DKIM n’est-il pas vérifié ?

Les clés DKIM sont publiées sous des noms de sélecteur que seuls les services d’envoi connaissent, elles ne peuvent donc pas être trouvées à partir du seul DNS. Vérifiez-les dans les paramètres de chaque service qui envoie vos e-mails.

Est-ce que cela teste si mes e-mails arrivent en boîte de réception ?

Non. Les enregistrements de messagerie sont lus uniquement dans le DNS public, et aucun e-mail n’est envoyé ; la même exécution envoie aussi quelques requêtes ordinaires à la page d’accueil pour les autres contrôles. Ce n’est ni un scan de vulnérabilités ni un test d’intrusion. L’arrivée en boîte de réception dépend aussi du service d’envoi, de sa réputation et de chaque message.

Un domaine peut-il avoir deux enregistrements SPF ?

Non. Si un nom a plus d’un enregistrement TXT commençant par v=spf1, SPF renvoie une erreur permanente pour chaque message. Regroupez les mécanismes dans un seul enregistrement ; un enregistrement long peut être découpé en plusieurs chaînes entre guillemets dans ce même enregistrement, que les destinataires joignent sans ajouter d’espace.

Pourquoi DMARC échoue-t-il alors que SPF passe ?

SPF vérifie l’expéditeur d’enveloppe, souvent un domaine de rebond de votre service d’envoi, et non le domaine de votre adresse From. Ce résultat ne compte pour DMARC que si les deux domaines sont alignés. Dans chaque service, configurez la signature DKIM avec votre propre domaine, ou un expéditeur d’enveloppe personnalisé sur l’un de vos sous-domaines.

Combien de temps rester en p=none ?

Jusqu’à ce que les rapports agrégés montrent que toutes les sources légitimes passent avec un domaine aligné, y compris les e-mails envoyés une fois par mois seulement, comme les factures. Pour les domaines dont les utilisateurs écrivent sur des listes de diffusion, la RFC 9989 déconseille reject ; si vous le choisissez quand même, restez d’abord au moins un mois en none et autant en quarantine.