Le mécanisme DMARC (Domain-based Message Authentication, Reporting and Conformance) permet à un émetteur de mails d'indiquer qu'il implémente le SPF et/ou le DKIM et ce que l'émetteur doit faire (rejeter le mail "reject", le mettre en quarantaine "quarantine" ou rien "none") quand l'un ou l'autre de ces 2 tests échoue.
DMARC est donc une sorte de surcouche à SPF et DKIM, il ne permet pas de savoir si un message est ou non un spam, mais aide le serveur destinataire à prendre la décision sur son traitement.
De plus DMARC apporte une notion d'alignement. Ce test supplémentaire consiste à vérifier que l'émetteur du mail (le champ "From" du message) correspond au domaine du serveur émetteur, à celui de l'attribut SPF et enfin à celui du DKIM.
L'enregistrement DMARC se matérialise comme un sous-domaine DNS, pour entreprise X cela serait _dmarc.cloud-xxxx.com. Pour le détail des propriétés qu'il est possible de définir, je vous renvoie à la page wikipedia.
DMARC permet aussi de spécifier une adresse email auquel le serveur destinataire peut envoyer des rapports en cas d'échecs des tests. Ces rapports se nomment RUA (A pour agregate) et permettent d'avoir une vision des mails reçus par les serveurs destinataires avec les réussites/échecs aux tests SPF/DKIM.
Il existe aussi des RUF (F pour Forensics) qui peuvent contenir plus d'informations sur les entêtes ou le contenu du mail. Cependant, tous les serveurs destinataires ne le supportent pas pour d'évidentes raisons de confidentialité (après tout c'est une violation du secret de correspondance) : Google ne le met pas en oeuvre, idem pour Outlook, Yahoo le propose.
Le DMARC ne concerne pas que les domaines émetteurs de mails. Il est utile de déclarer aussi ceux qui n'en émettent jamais : leurs mails seront ainsi systématiquement catalogués comme illégitimes.
Lors de la mise en œuvre du DMARC, il est conseillé de commencer par une politique "none" qui permet "d'apprendre" le comportement des domaines émetteurs sans perturber l'acheminement des mails légitimes avant de la passer en "reject".
Il est fortement conseillé de créer des sous-domaines émetteurs de mails ou des domaines différents : par exemple news.xxx.com pour les newsletters. Cela permet de limiter la casse à un sous-domaine en termes de réputation des domaines principaux en cas de problème. On peut d'ailleurs considérer que cette préconisation est pertinente même en l'absence d'implémentation DMARC.