Exim4 — serveur SMTP
Exim (paquet exim4 sur Debian/Ubuntu) est un agent de transfert de courrier (MTA), historiquement le MTA par défaut de Debian. Il se distingue de Postfix par un fichier de configuration unique très flexible (règles de routage/ACL explicites) plutôt que de multiples fichiers dédiés — plus puissant mais réputé plus complexe à lire.
Installation
sudo apt install exim4
sudo dpkg-reconfigure exim4-config # assistant de configuration interactif
sudo systemctl enable --now exim4
Fichiers de configuration
| Fichier | Rôle |
|---|---|
/etc/exim4/update-exim4.conf.conf | Config simplifiée générée par dpkg-reconfigure |
/etc/exim4/exim4.conf.template | Template principal (mode "split config" avancé) |
/etc/exim4/conf.d/ | Fichiers de config modulaires (mode split, plus lisible) |
/etc/aliases | Redirections d'adresses locales |
Commandes utiles
systemctl status exim4
exim -bV # vérifie la syntaxe et affiche la version
exim -bp # liste la file d'attente
exim -bt adresse@example.com # tester le routage d'une adresse
update-exim4.conf # régénérer la config depuis les fichiers split
exiqgrep -i # lister les IDs de messages en file
Exemple de configuration
# /etc/exim4/update-exim4.conf.conf (extrait)
dc_eximconfig_configtype='internet'
dc_local_interfaces='0.0.0.0'
dc_other_hostnames='example.com'
dc_relay_nets=''
dc_use_split_config='true'
dc_relay_nets vide = pas de relais ouvert autorisé, à vérifier systématiquement.
Sécurisation
- Ne pas laisser
dc_relay_netsou les ACL de routage ouvrir un relais anonyme. - Activer TLS (
MAIN_TLS_ENABLE=yesen config split) pour la soumission. - Mettre en place SPF/DKIM/DMARC côté DNS (voir opendkim).
- Limiter la taille des messages et le nombre de connexions simultanées par IP (
smtp_accept_max_per_host).
Logs & dépannage
journalctl -u exim4 -f
tail -f /var/log/exim4/mainlog
exim -bp # file d'attente
exim -Mvl <message_id> # log détaillé d'un message précis