05 - Delivrabilite : atteindre 9/10 sur mail-tester.com
Ce que tu vas apprendre
- Comment tester ton score de delivrabilite
- Les critères de scoring et comment les satisfaire
- Les erreurs qui coutent des points et comment les corriger
Prerequisites
- 01 - Les records DNS a 04 - SSL avec Caddy completes
- Un serveur mail fonctionnel qui peut envoyer des emails
La delivrabilite, c'est la seule metrique qui compte
Tu peux avoir le serveur mail le plus beau du monde. Si tes emails arrivent en spam, ca ne sert a rien. La delivrabilite, c'est ca : est-ce que ton email atterrit dans la boîte de reception ou dans les spams ?
Quand j'ai envoye mon premier email depuis paltemps.fr, il est arrive direct en spam chez mon testeur qui utilise Gmail. Pas agreable. Mais apres avoir corrige trois trucs (le PTR manquant, le DKIM pas encore publie, et un header mal forme), j'ai atteint 9.1/10 sur mail-tester.com. Et depuis, mes emails arrivent en inbox.
Le test mail-tester.com
La méthode est simple :
- Va sur mail-tester.com
- Le site te donne une adresse email temporaire (du genre
test-abc123@srv1.mail-tester.com) - Envoie un email a cette adresse depuis ton serveur
- Retourne sur le site et clique "Check your score"
Pour envoyer un email de test directement depuis le container, tu peux utiliser la commande swaks si elle est disponible, ou simplement envoyer depuis ton client mail configure. Voici comment faire avec un script rapide :
bashdocker exec mailserver bash -c 'echo -e "Subject: Test delivrabilite\n\nCeci est un test depuis paltemps.fr" | sendmail test-abc123@srv1.mail-tester.com'
Remplace l'adresse par celle que mail-tester t'a donnee.
Les critères de scoring
mail-tester vérifié une dizaine de points. Voici les principaux et ce qu'ils coutent si tu les rates.
SPF (-2 points si absent)
Le serveur de reception vérifié que ton IP est autorisee a envoyer pour ton domaine. Si ton record SPF est absent ou mal configure, c'est -2 points direct.
Verification rapide :
bashdig TXT paltemps.fr +short | grep spf
Doit retourner quelque chose comme "v=spf1 mx a:mail.paltemps.fr -all".
DKIM (-2 points si absent)
La signature cryptographique qui prouve que l'email n'a pas ete modifie. Sans DKIM, les gros providers (Gmail, Outlook, Yahoo) te penalisent lourdement.
Verifie que la signature est bien ajoutee en regardant les headers de l'email reçu. Tu dois voir un header DKIM-Signature: avec le sélecteur et le domaine.
DMARC (-1 point si absent)
Moins penalisant que SPF ou DKIM, mais DMARC montre aux serveurs de reception que tu prends la sécurité au serieux. Et les rapports agreges te donnent de la visibilité sur ce qui se passe avec ton domaine.
PTR / Reverse DNS (-2 points si absent)
J'en ai deja parle dans l'article dédié au PTR. C'est le check que beaucoup oublient et qui coûte le plus cher en points.
Blacklists (-3 a -5 points)
Si l'IP de ton VPS est sur une liste noire, c'est la catastrophe. Verifie sur mxtoolbox.com/blacklists.aspx en entrant ton IP.
Si tu es blackliste, il faut demander un delisting auprès de chaque liste. En général il y a un formulaire sur le site de la blacklist. Ca prend entre quelques heures et quelques jours. Sur OVH, les IPs de VPS sont en général propres, mais si le précédent locataire a fait du spam, tu herites de sa reputation.
Contenu de l'email (-0.1 a -1 point)
SpamAssassin analyse le contenu de ton email. Certaines choses declenchent des penalites :
- Email en HTML sans version texte alternatif (-0.5)
- Ratio images/texte trop eleve
- Mots suspects dans le sujet ("gratuit", "promotion", "urgent")
- Liens vers des domaines suspects
L'astuce : envoie toujours un email avec un vrai contenu, un sujet normal, et si tu envoies du HTML, inclus une version texte. On verra ca dans l'article sur l'intégration.
Headers manquants (-0.1 a -0.5 point)
Certains headers sont attendus : Date, Message-ID, From, To, Subject. Postfix les généré automatiquement, mais si ton application envoie des emails mal formes, ca peut manquer. nodemailer gere ca correctement par défaut.
Le warming d'IP
Un concept souvent ignore : quand ton serveur mail est tout neuf, ton IP n'a pas de reputation. Les gros providers ne te font pas confiance. C'est normal.
Ne fais pas l'erreur d'envoyer 500 newsletters le premier jour. Commence doucement :
- Jour 1-3 : quelques emails de test a tes propres adresses Gmail, Outlook, Yahoo
- Semaine 1 : 10-20 emails par jour a de vrais destinataires
- Semaine 2-3 : monte progressivement
Ca permet aux providers de construire une reputation positive pour ton IP. Si tu blasts 1000 emails d'un coup depuis une IP inconnue, tu vas te retrouver blackliste en quelques heures.
Le "From" header
Utilise une vraie adresse dans le header From. noreply@paltemps.fr c'est techniquement correct mais ca fait moins serieux que contact@paltemps.fr. Et certains filtres anti-spam penalisent legerement les adresses noreply@.
Assure-toi aussi que l'adresse dans From correspond a un compte qui existe sur ton serveur. Si quelqu'un répond a ton email, ca ne doit pas bouncer.
Ma checklist avant de passer en production
Avant de considérer ton serveur mail comme "pret", vérifié tout ca :
text[ ] Record A pour mail.tondomaine.fr
[ ] Record MX pour tondomaine.fr
[ ] Record SPF (TXT) avec -all
[ ] Record DKIM (TXT) avec la cle publique
[ ] Record DMARC (TXT) avec p=quarantine
[ ] Reverse DNS (PTR) qui matche le hostname
[ ] Certificat SSL valide sur ports 993, 465, 587
[ ] IP pas sur des blacklists (mxtoolbox.com)
[ ] Score 9+/10 sur mail-tester.com
[ ] Emails arrivent en inbox sur Gmail, Outlook et Yahoo
Si tu coches tout, ton serveur est pret. Ca m'a pris environ deux jours pour tout mettre en place la première fois, en comptant les temps de propagation DNS. Maintenant je pourrais le refaire en une apres-midi.
Prochain article : Intégrer le serveur mail dans ton application.
Navigation : Precedent : 04 - SSL avec Caddy | Suivant : 06 - Intégration dans ton application
Sources
- mail-tester.com par MailPoet
- MXToolbox - Blacklist Check par MXToolbox
- docker-mailserver - Best Practices par docker-mailserver
- Google Postmaster Tools par Google
Retrouve d'autres articles techniques sur paltemps.fr.