Tous les guides de déploiement Déploiement

SSL/TLS pour les serveurs de messagerie (Postfix, Dovecot, Exchange)

Le même certificat Let’s Encrypt qui sécurise votre site web peut aussi chiffrer vos connexions de messagerie. Ce guide couvre la configuration TLS pour les serveurs de messagerie les plus courants.

Pourquoi l’e-mail a besoin de TLS

Sans TLS, le trafic e-mail (y compris les mots de passe et le contenu des messages) est envoyé en texte clair :

  • SMTP (envoi de courrier) — port 25/587 non chiffré par défaut
  • IMAP (lecture de courrier) — port 143 non chiffré par défaut
  • POP3 (lecture de courrier) — port 110 non chiffré par défaut

TLS chiffre ces connexions de la même manière que HTTPS chiffre le trafic web. Les clients de messagerie modernes exigent TLS et avertissent les utilisateurs des connexions non chiffrées.

Configuration du certificat

Vous pouvez utiliser les mêmes fichiers de certificat de GetHTTPS pour votre serveur web et votre serveur de messagerie — tant que le certificat couvre le nom d’hôte utilisé par votre serveur de messagerie (par ex. mail.example.com).

Obtenez un certificat couvrant votre nom d’hôte de messagerie :

  1. Dans GetHTTPS, ajoutez mail.example.com (ou le nom d’hôte vers lequel pointe votre enregistrement MX)
  2. Vous pouvez l’inclure avec votre domaine web : example.com + www.example.com + mail.example.com
  3. Téléchargez les fichiers : fullchain.pem, privkey.pem

Postfix (SMTP)

Modifiez /etc/postfix/main.cf :

# TLS pour le courrier sortant (envoi)
smtp_tls_security_level = may
smtp_tls_loglevel = 1

# TLS pour le courrier entrant (réception) — STARTTLS sur port 25/587
smtpd_tls_cert_file = /etc/ssl/gethttps/fullchain.pem
smtpd_tls_key_file = /etc/ssl/gethttps/privkey.pem
smtpd_tls_security_level = may
smtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtpd_tls_loglevel = 1

Pour la soumission (port 587), modifiez /etc/postfix/master.cf :

submission inet n       -       y       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes

Rechargement : sudo systemctl reload postfix

Dovecot (IMAP/POP3)

Modifiez /etc/dovecot/conf.d/10-ssl.conf :

ssl = required
ssl_cert = </etc/ssl/gethttps/fullchain.pem
ssl_key = </etc/ssl/gethttps/privkey.pem
ssl_min_protocol = TLSv1.2
ssl_prefer_server_ciphers = no

Notez le < avant le chemin du fichier — Dovecot utilise cette syntaxe pour lire le contenu du fichier en ligne.

Rechargement : sudo systemctl reload dovecot

Ports IMAP/POP3

ServiceNon chiffréSTARTTLSTLS implicite (recommandé)
IMAP143143 (mise à niveau)993
POP3110110 (mise à niveau)995
SMTP soumission587587 (mise à niveau)465 (smtps)

Les clients de messagerie modernes doivent se connecter sur les ports TLS implicites (993, 995, 465). Configurez-les dans Dovecot et Postfix en plus des ports STARTTLS.

Vérifier le TLS de la messagerie

# Tester SMTP STARTTLS
openssl s_client -connect mail.example.com:587 -starttls smtp

# Tester IMAP TLS implicite
openssl s_client -connect mail.example.com:993

# Tester SMTP TLS implicite (smtps)
openssl s_client -connect mail.example.com:465

Recherchez Verify return code: 0 (ok) et les détails de votre certificat.

Renouvellement

Lorsque vous renouvelez votre certificat Let’s Encrypt, remplacez les fichiers et rechargez à la fois votre serveur web et votre serveur de messagerie :

sudo systemctl reload nginx      # web
sudo systemctl reload postfix    # SMTP
sudo systemctl reload dovecot    # IMAP

Si vous utilisez Certbot avec --deploy-hook, ajoutez les rechargements du serveur de messagerie au script de hook.

Questions fréquemment posées

Puis-je utiliser le même certificat pour le web et l’e-mail ?

Oui — tant que le SAN (Subject Alternative Name) du certificat inclut le nom d’hôte du serveur de messagerie. Si votre MX pointe vers mail.example.com, incluez ce nom lors de la demande du certificat.

Est-ce que Let’s Encrypt fonctionne pour les serveurs de messagerie ?

Oui. Les certificats Let’s Encrypt sont des certificats X.509 standard qui fonctionnent avec tout service compatible TLS — pas seulement les serveurs web. Le certificat ne sait pas s’il est utilisé pour HTTPS, SMTP, IMAP ou autre chose.

Ai-je besoin d’un certificat séparé pour chaque protocole de messagerie ?

Non. Un seul certificat fonctionne pour SMTP (Postfix), IMAP (Dovecot) et votre serveur web simultanément. Pointez tous les services vers les mêmes fullchain.pem et privkey.pem.

Qu’en est-il de Microsoft Exchange ?

Exchange utilise le format PFX/PKCS#12. Convertissez vos fichiers PEM en PFX, puis importez via le Centre d’administration Exchange → Serveurs → Certificats → Importer. Le processus est similaire à l’installation de certificat sur IIS.

Articles connexes

Premiers pas 2026-05-08
Comment obtenir un certificat SSL gratuit (guide étape par étape)
Obtenez un certificat SSL gratuit de Let's Encrypt en 5 minutes — aucun logiciel à installer, aucun compte à créer. Guide complet couvrant 4 méthodes, les deux types de challenge, l'installation sur 6 plateformes et le dépannage.
Déploiement 2026-05-08
Comment installer un certificat SSL sur Nginx
Guide étape par étape pour installer un certificat SSL sur Nginx. Couvre l'upload des fichiers, la configuration complète du bloc serveur, les bonnes pratiques TLS, HTTP/2, HSTS, la configuration des redirections, les tests et le dépannage de 6 erreurs courantes.
SSL et certificats 2026-05-07
Formats de certificats SSL : PEM, PFX, DER expliques
Comprendre les formats de certificats PEM, PFX/PKCS#12 et DER. Decouvrez quel format votre serveur necessite et comment convertir entre eux avec OpenSSL.
Obtenez un certificat SSL gratuit dans votre navigateur
Aucune installation, aucun compte. Votre clé privée ne quitte jamais votre appareil.
Obtenir un certificat