Guides 6 min de lecture

SPF, DKIM et DMARC expliqués : les configurer sans casser vos e-mails

SPF, DKIM et DMARC déterminent si vos e-mails arrivent en boîte de réception et si d’autres peuvent envoyer en se faisant passer pour votre domaine. Le rôle de chaque enregistrement, comment les configurer sans risque et les erreurs qui sabotent la délivrabilité en silence.

SPF, DKIM et DMARC sont trois enregistrements DNS qui décident de deux choses : si les e-mails que vous envoyez arrivent en boîte de réception, et si quelqu’un d’autre peut envoyer des e-mails qui semblent venir de vous. Gmail, Yahoo et Outlook.com exigent désormais les trois de tout expéditeur en masse, et pour tous les autres, les messages qui en sont dépourvus ont plus de chances de finir en spam.

Ces enregistrements sont courts, mais il est facile de s’y tromper subtilement, et ils cessent de fonctionner sans prévenir dès qu’un nouvel outil commence à envoyer pour vous. Ce guide explique le rôle de chacun, comment les configurer dans le bon ordre et comment les maintenir en état de marche.

Comment ils s’articulent

Chaque e-mail possède deux adresses d’expéditeur : l’expéditeur d’enveloppe, utilisé par les serveurs de messagerie pour renvoyer les rebonds, et l’adresse From que voit le destinataire. La fraude exploite l’écart entre les deux : n’importe qui peut écrire n’importe quelle adresse From. Les trois enregistrements comblent cet écart.

SPF (Sender Policy Framework) liste les serveurs autorisés à envoyer des e-mails pour votre domaine.

DKIM (DomainKeys Identified Mail) ajoute à chaque message une signature cryptographique, que les destinataires vérifient grâce à une clé publique publiée dans votre DNS.

DMARC (Domain-based Message Authentication, Reporting and Conformance) les rattache à l’adresse From visible et indique aux destinataires quoi faire des e-mails qui échouent.

SPF : qui a le droit d’envoyer

Un enregistrement SPF est un enregistrement TXT sur votre domaine. Il liste les services et serveurs qui envoient des e-mails pour vous et se termine par ce qu’il faut faire de tout le reste :

example.com. TXT « v=spf1 include:_spf.google.com include:sendgrid.net ip4:203.0.113.25 ~all »

include: ajoute l’enregistrement SPF d’un autre domaine, la façon habituelle d’autoriser un service d’envoi.

ip4: et ip6: autorisent des adresses précises, comme celle de votre propre serveur de messagerie.

~all (soft fail) ou -all (fail) indique ce qu’il advient de tous ceux qui ne sont pas listés. N’utilisez jamais +all, qui autorise tout Internet.

Deux règles piègent la plupart des domaines :

Un seul enregistrement. Un domaine doit avoir exactement un enregistrement SPF. S’il en a deux, les destinataires renvoient une erreur permanente et SPF échoue pour chaque message. Quand un nouveau service vous demande d’« ajouter cet enregistrement SPF », ajoutez plutôt son include à l’enregistrement existant.

10 requêtes DNS au maximum. Chaque include, a, mx et redirect coûte une requête, et les includes imbriqués comptent aussi. Au-delà de 10, SPF échoue. Un enregistrement avec Google Workspace, un outil d’e-mailing, un CRM et un helpdesk peut dépasser la limite sans que personne ne s’en aperçoive.

SPF a un point faible : il vérifie l’expéditeur d’enveloppe, pas l’adresse From que voit le destinataire, et il casse quand un e-mail est transféré. C’est pourquoi il ne suffit pas à lui seul.

DKIM : une signature sur chaque message

Avec DKIM, votre service d’envoi signe chaque message avec une clé privée. La clé publique est publiée dans le DNS, sous un nom appelé sélecteur :

google._domainkey.example.com. TXT « v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOC… »

Le destinataire lit le sélecteur dans l’en-tête DKIM-Signature du message, récupère la clé et vérifie que le message n’a pas été modifié en route. Une signature DKIM résiste au transfert, ce qui en fait le plus fiable des deux.

Chaque service qui envoie pour vous a besoin de sa propre configuration DKIM, généralement dans ses paramètres d’administration, à la rubrique « authentification » ou « domaine vérifié ». Utilisez des clés de 2048 bits quand le service le propose : les clés de 1024 bits fonctionnent encore mais constituent le minimum, et les clés plus courtes sont rejetées. Quand un service fait tourner ses clés, le nouveau sélecteur doit figurer dans votre DNS avant d’être utilisé, sinon les signatures échouent.

DMARC : le lien avec l’adresse From

DMARC est un enregistrement TXT placé sur _dmarc de votre domaine :

_dmarc.example.com. TXT « v=DMARC1; p=none; rua=mailto:dmarc@example.com »

Il fait deux choses que SPF et DKIM ne peuvent pas faire seuls.

D’abord, il exige l’alignement. Un message ne passe DMARC que si SPF ou DKIM réussit pour le même domaine que l’adresse From visible. Une newsletter envoyée via un service qui signe avec son propre domaine passe DKIM, mais pas pour votre domaine : elle échoue donc à DMARC. C’est pourquoi chaque service doit signer avec votre domaine.

Ensuite, il définit une politique pour les e-mails qui échouent :

p=none : les distribuer normalement. Rien ne change, mais les destinataires peuvent vous envoyer des rapports.

p=quarantine : les placer en spam.

p=reject : les refuser.

La balise rua demande aux destinataires d’envoyer des rapports agrégés quotidiens à l’adresse de votre choix. Ils indiquent quels serveurs ont envoyé des e-mails au nom de votre domaine et s’ils ont réussi les contrôles : c’est ainsi que vous repérez les expéditeurs oubliés.

Les configurer dans le bon ordre

Passer directement à p=reject est le moyen classique d’empêcher vos propres factures ou réinitialisations de mot de passe d’arriver. Procédez par étapes :

Recensez tout ce qui envoie au nom de votre domaine. Votre fournisseur de messagerie, outil d’e-mailing, CRM, helpdesk, système de réservation, plateforme e-commerce, formulaire de contact du site et tout serveur qui envoie des notifications.

Configurez DKIM pour chacun d’eux avec votre propre domaine, en suivant les instructions de chaque service.

Construisez un seul enregistrement SPF avec les services qui en ont besoin, sous les 10 requêtes, terminé par ~all.

Publiez DMARC avec p=none et une adresse rua, et laissez tourner deux à quatre semaines.

Corrigez chaque expéditeur légitime qui échoue, le plus souvent un service qui signe encore avec son propre domaine.

Passez à p=quarantine, éventuellement avec pct=25 pour commencer par un quart des e-mails en échec, puis à p=reject dès que plus aucun e-mail légitime n’échoue.

Les domaines qui n’envoient jamais d’e-mails méritent aussi d’être protégés, car ils sont faciles à usurper. Donnez-leur un enregistrement qui le déclare :

example.org. TXT « v=spf1 -all »
_dmarc.example.org. TXT « v=DMARC1; p=reject »

Les erreurs qui cassent vos e-mails en silence

Un deuxième enregistrement SPF ajouté pour un nouveau service, au lieu d’un include dans le premier.

Un enregistrement SPF qui a dépassé les 10 requêtes à l’ajout d’un outil de plus.

Une newsletter ou un CRM qui envoie avec son propre domaine DKIM, si bien que DMARC échoue malgré une signature valide.

Une clé DKIM renouvelée chez le fournisseur mais jamais publiée dans le DNS.

Un enregistrement DMARC contenant une faute de frappe, comme p=rejected, que les destinataires ignorent.

Le passage à p=reject avant d’avoir vérifié que chaque expéditeur passe les contrôles.

Un enregistrement MX modifié ou un serveur de messagerie qui se retrouve sur une liste de blocage, ce qui nuit à la délivrabilité quels que soient les enregistrements.

Aucune de ces erreurs ne produit de message visible. Les e-mails commencent simplement à atterrir en spam, et vous l’apprenez des semaines plus tard, quand un client vous dit n’avoir jamais reçu la facture.

Vérifiez vos enregistrements

Vous pouvez vérifier votre domaine dès maintenant avec notre vérificateur SPF, DKIM et DMARC gratuit. Il lit les enregistrements dans le DNS, compte les requêtes SPF, cherche les clés DKIM sous les sélecteurs courants et explique ce qu’il faut corriger, avec l’enregistrement à coller.

Des enregistrements corrects aujourd’hui cassent dès que quelqu’un ajoute un service le mois prochain. La surveillance de l’authentification des e-mails d’Uptimecheck vérifie SPF, DKIM et DMARC sur vos moniteurs de domaine deux fois par jour, explique chaque problème en termes simples, vous donne l’enregistrement DNS qui le corrige et ne vous alerte que lorsqu’un nouveau problème apparaît. Elle vérifie aussi si les serveurs de messagerie que vous gérez vous-même figurent sur des listes de blocage, pour qu’un listage ne passe pas inaperçu. Ajoutez-la à la surveillance de domaine qui vous prévient déjà avant l’expiration du domaine lui-même.

Checklist

Recensez chaque service qui envoie des e-mails au nom de votre domaine.

Configurez DKIM avec votre propre domaine dans chacun d’eux, en 2048 bits si possible.

Gardez un seul enregistrement SPF, sous les 10 requêtes, terminé par ~all ou -all.

Publiez DMARC en p=none avec une adresse de rapport.

Corrigez chaque expéditeur légitime qui échoue à l’alignement.

Passez à p=quarantine, puis à p=reject.

Protégez les domaines qui n’envoient pas d’e-mails avec v=spf1 -all et p=reject.

Vérifiez les enregistrements régulièrement, et chaque fois qu’un nouvel outil commence à envoyer pour vous.

Questions

Ai-je besoin des trois ?

Oui, en pratique. Gmail, Yahoo et Outlook.com exigent SPF, DKIM et DMARC de tout expéditeur en masse, et pour tous les autres, les messages qui en sont dépourvus ont plus de chances d’atterrir en spam. Ensemble, ils empêchent aussi d’autres personnes d’envoyer des e-mails qui ressemblent aux vôtres.

Puis-je avoir deux enregistrements SPF ?

Non. Un domaine doit avoir exactement un enregistrement SPF. S’il en a deux, les destinataires traitent SPF comme une erreur permanente et il échoue pour chaque message. Fusionnez-les en un seul enregistrement.

Que se passe-t-il quand SPF nécessite plus de 10 requêtes ?

SPF renvoie une erreur permanente et échoue, même pour vos e-mails légitimes. Retirez les services que vous n’utilisez plus, remplacez des includes par des plages ip4 quand le fournisseur le permet, ou déplacez une partie des envois vers un sous-domaine.

p=none suffit-il ?

C’est le bon point de départ, car il ne change rien à la distribution pendant que vous vérifiez que tous vos e-mails passent. Il ne protège pas votre domaine contre l’usurpation. Passez ensuite à quarantine, puis à reject, dès que chaque expéditeur légitime réussit les contrôles.

Uptimecheck vérifie-t-il SPF, DKIM et DMARC ?

Oui. Les moniteurs de domaine les vérifient deux fois par jour, expliquent chaque problème en termes simples et fournissent l’enregistrement DNS qui le corrige. Le vérificateur DMARC gratuit sur uptimecheck.com effectue les mêmes contrôles une fois, sans compte.

À lire aussi

Les pannes, c’est du passé.

Configurez votre premier moniteur en moins d’une minute, ou explorez d’abord la démo en ligne.

Essai gratuit de 14 jours · Puis gratuit pour 5 moniteurs · Sans carte bancaire