toutes les fiches

// comment corriger

Gérer votre propre serveur mail : la checklist de délivrabilité

Un serveur Postfix auto-hébergé peut très bien délivrer, mais seulement si toutes les bases sont en place : reverse DNS, SPF, DKIM, DMARC, TLS et aucun relais ouvert.

Ce que ça veut dire

Quand vous gérez votre propre serveur mail sur un VPS ou un serveur dédié, personne ne s'occupe de la réputation et de la configuration à votre place. Gmail et Outlook ne connaissent pas votre IP. Ils la jugent uniquement sur ce qu'ils peuvent vérifier : les noms, les enregistrements DNS, les signatures, le chiffrement et le comportement. Il suffit souvent d'un seul élément manquant pour finir en spam.

Pourquoi c'est important

Une nouvelle IP n'a pas d'historique, donc les serveurs de réception sont stricts avec elle. Les grands fournisseurs gèrent tout cela pour les utilisateurs de Google Workspace ou Microsoft 365. Sur votre propre serveur, chaque point ci-dessous est à votre charge.

Comment vérifier

Envoyez un email depuis le serveur vers votre adresse de test sur la page d'accueil (/). Le rapport couvre en une seule fois le SPF, le DKIM, le DMARC, le reverse DNS, les blacklists et SpamAssassin. Utilisez /domain-scanner pour la partie DNS et /blacklists pour l'IP.

La checklist

1. Le port 25 est ouvert en sortie

Beaucoup d'hébergeurs bloquent le port 25 sortant sur les nouveaux comptes. Consultez leur documentation et demandez au support de le débloquer si besoin.

2. Un nom propre et un reverse DNS

  1. Choisissez un nom comme mail.yourdomain.com et créez un enregistrement A qui pointe vers l'IP du serveur.
  2. Demandez à votre hébergeur de régler le PTR (reverse DNS) de l'IP sur ce même nom.
  3. Utilisez le même nom dans Postfix :
    myhostname = mail.yourdomain.com

3. SPF

Ajoutez l'IP du serveur à votre enregistrement SPF :

v=spf1 ip4:203.0.113.10 ~all

4. DKIM avec OpenDKIM

  1. Installez OpenDKIM et générez une clé de 2048 bits :
    opendkim-genkey -b 2048 -d yourdomain.com -s mail
  2. Publiez le contenu de mail.txt dans un enregistrement TXT sur mail._domainkey.yourdomain.com.
  3. Branchez-le sur Postfix dans main.cf (le port doit correspondre à votre socket OpenDKIM) :
    smtpd_milters = inet:localhost:8891
    non_smtpd_milters = $smtpd_milters
    milter_default_action = accept

5. DMARC

Commencez en mode surveillance avec un enregistrement TXT sur _dmarc.yourdomain.com :

v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com

6. Chiffrement TLS

Obtenez un certificat (par exemple chez Let's Encrypt) pour mail.yourdomain.com, puis :

smtpd_tls_cert_file = /etc/letsencrypt/live/mail.yourdomain.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.yourdomain.com/privkey.pem
smtpd_tls_security_level = may
smtp_tls_security_level = may

7. Aucun relais ouvert

Seuls vos propres utilisateurs doivent pouvoir envoyer via le serveur :

mynetworks = 127.0.0.0/8 [::1]/128
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, defer_unauth_destination

8. Bonnes habitudes

  • Vérifiez que votre IP n'est sur aucune blacklist avant de commencer.
  • Augmentez le volume lentement sur plusieurs semaines.
  • Lisez /var/log/mail.log pour trouver les messages de refus : ils expliquent généralement le problème.
  • Gardez le système à jour et utilisez des mots de passe solides pour les comptes de messagerie.

Après avoir modifié main.cf, rechargez Postfix avec postfix reload.

Vérifiez que c'est corrigé

Envoyez un nouveau test depuis le serveur vers l'adresse de la page d'accueil. Chaque section doit être au vert : SPF et DKIM alignés avec votre domaine, un reverse DNS cohérent, aucune blacklist et un score de spam bas.

Vérifiez que c'est corrigé

Une modification DNS peut prendre de quelques minutes à quelques heures. Ensuite, envoyez un nouvel email de test ou scannez à nouveau votre domaine.

Fiches liées