Contrôle e-mailpar Jarod Capella
Contrôle e-mail / Script d'audit e-mail en ligne de commande

Script d'audit e-mail en ligne de commande

Un seul fichier Python, sans dépendance : audit_domaine.py. Il lit les enregistrements DNS publics d'un domaine et signale ce qui cloche.

uv run audit_domaine.py exemple.fr
uv run audit_domaine.py exemple.fr autre.com --json

Ce qu'il contrôle

  • SPF : présence, qualificateur final (-all, ~all, +all) et nombre de requêtes DNS selon la RFC 7208, limite à 10. Les mécanismes include, redirect, a, mx, ptr et exists comptent.
  • DMARC : présence, politique p, présence de rua.
  • DKIM : 40 sélecteurs courants sondés (google, selector1, k1, s1, etc.). Un résultat vide ne prouve pas l'absence de DKIM : le sélecteur peut avoir un autre nom.
  • MTA-STS : présence de l'enregistrement _mta-sts.

Exemple mesuré le 2026-11-05

github.com : SPF à 10 requêtes sur 10, donc zéro marge, politique DMARC quarantine, neuf sélecteurs DKIM trouvés. Ajouter un fournisseur d'envoi de plus sans en retirer un casserait leur SPF. Voir le budget SPF par fournisseur.

Limites

Le comptage ignore les recherches liées aux noms MX (limite séparée de 10 par mécanisme mx). Les requêtes passent par dns.google (DNS over HTTPS) : le domaine audité est donc visible de ce service. Sous Windows, ajoutez PYTHONIOENCODING=utf-8 pour l'affichage des accents.