Comprendre SPF, DKIM et DMARC
Par Jérôme Guyonnetancien formateur en email marketing

Rien dans le protocole d’origine du courrier électronique n’empêche d’écrire n’importe quel expéditeur dans un message. Les trois mécanismes qui suivent ont été ajoutés pour combler ce trou, chacun résolvant une partie du problème.
Depuis février 2024, Gmail et Yahoo les exigent des expéditeurs de volume. Sans eux, le courrier est rejeté ou classé en indésirable, quel que soit son contenu.
SPF : qui a le droit d’envoyer
SPF déclare, dans le DNS de votre domaine, la liste des serveurs autorisés à envoyer du courrier en votre nom.
Le serveur qui reçoit regarde d’où vient la connexion, consulte votre enregistrement, et vérifie que l’expéditeur figure dans la liste.
L’enregistrement ressemble à ceci :
v=spf1 include:spf.exemple-plateforme.com ~all
Le include désigne votre plateforme d’envoi, qui vous donne la valeur exacte. Le ~all signifie que tout autre serveur est suspect sans être rejeté.
Deux pièges. Un domaine ne peut avoir qu’un seul enregistrement SPF : si vous en ajoutez un second, les deux cessent de fonctionner. Si vous utilisez plusieurs services d’envoi, votre messagerie professionnelle et votre plateforme d’emailing, il faut réunir leurs include dans une seule ligne.
Et SPF n’autorise que dix consultations DNS. Chaque include en consomme au moins une, parfois plusieurs en cascade. Au-delà, la vérification échoue entièrement.
DKIM : la signature du message
DKIM ajoute à chaque email une signature cryptographique, calculée avec une clé privée que détient votre plateforme d’envoi. La clé publique correspondante est publiée dans votre DNS.
Le serveur qui reçoit récupère cette clé publique, vérifie la signature, et sait alors deux choses : le message vient bien de votre domaine, et son contenu n’a pas été modifié en route.
Contrairement à SPF, DKIM survit aux transferts : un email réexpédié garde sa signature valide, alors que SPF échoue puisque le serveur qui transfère n’est pas dans votre liste.
La plateforme vous donne un ou deux enregistrements à copier, avec un nom de la forme selecteur._domainkey.
DMARC : que faire en cas d’échec
DMARC s’appuie sur les deux autres. Il dit aux serveurs de réception comment traiter un message dont l’authentification échoue, et il vous fait remonter des rapports.
Un enregistrement minimal :
v=DMARC1; p=none; rua=mailto:rapports@votredomaine.fr
La politique p prend trois valeurs. none ne demande rien de particulier et se contente d’observer. quarantine demande de classer en indésirable. reject demande de refuser le message.
DMARC vérifie aussi l’alignement : le domaine affiché dans le champ expéditeur doit correspondre à celui validé par SPF ou par DKIM. C’est ce qui empêche quelqu’un de signer correctement pour son propre domaine tout en affichant le vôtre.
L’ordre des opérations
Posez SPF et DKIM d’abord, et vérifiez qu’ils passent sur des envois réels.
Publiez ensuite DMARC en p=none. Vous ne bloquez rien, vous observez. Laissez tourner deux à quatre semaines.
Lisez les rapports. Ils sont en XML et illisibles à l’œil nu ; des services gratuits les mettent en forme. Vous y découvrirez souvent des services qui envoient en votre nom et que vous aviez oubliés : facturation, prise de rendez-vous, formulaire du site.
Corrigez ce qui échoue, puis passez à quarantine, et seulement ensuite à reject.
Ne commencez jamais par reject. Vous bloqueriez du courrier légitime pendant des semaines sans le savoir, y compris peut-être vos propres factures.
Le domaine d’envoi
Ces trois mécanismes s’appliquent à un domaine. Si vos campagnes partent d’une adresse fournie par la plateforme, vous héritez de sa réputation et vous ne construisez pas la vôtre.
Configurez un domaine d’envoi qui vous appartient. Beaucoup utilisent un sous-domaine, par exemple news.votredomaine.fr, ce qui isole la réputation des campagnes de celle de votre messagerie courante. Un incident sur l’une n’entraîne pas l’autre.
Vérifier que tout fonctionne
Envoyez-vous un email et affichez la source complète du message. Cherchez les lignes spf=pass, dkim=pass et dmarc=pass.
Plusieurs services en ligne font la vérification en envoyant un email à une adresse jetable et en affichant le résultat.
Google Postmaster Tools, une fois le domaine vérifié, montre le taux d’authentification réel de vos envois vers Gmail.


