Configurer EXIM4 en smarthost avec support SSL
Par libresurf le mercredi 24 septembre 2014, 22:43 - Informatique - Lien permanent
Ce post explique comment configurer le serveur de mail Exim4 pour relayer les emails vers le serveur SMTP de son FAI. Cette configuration est largement détaillée sur internet, mais la particularité ici est d'utiliser le protocole SSL.
Le système utilisé est une distribution Debian GNU/Linux 7.4 Wheezy et le FAI est ici OVH.
Commençons par installer le serveur Exim4 :
# aptitude install exim4et configurerons le en mode relais ("smarthost") :
# dpkg-reconfigure exim4-configen choissant :
- Envoi par relais ("smarthost") - réception SMTP ou fetchmail
- Nom du courrier du système : votre_nom_de_domaine.fr
- Liste des adresses IP où Exim sera en attente de connexions SMTP entrantes : -vide-
- Autres destinations dont le courrier doit être accepté : votre_nom_de_domaine.fr
- Domaines à relayer : -vide-
- Machines à relayer : votre_réseau_local
- Nom réseau ou adresse IP du système " smarthost " : ssl0.ovh.net::465
- Faut-il cacher le nom local de courrier dans les courriers sortants ? : Non
- Faut-il minimiser les requêtes DNS (connexions à la demande) ? : Non
- Méthode de distribution du courrier local : Format "mbox" dans /var/mail
- Faut-il séparer la configuration dans plusieurs fichiers ? : Oui
Notez également la présence des deux doubles points pour définir le port de connexion dans l'adresse du serveur smtp du FAI "ssl0.ovh.net::465". Attention cependant, bien que l'adresse soit celle utilisée par OVH pour les connexions sécurisées SSL, l'utilisation du protocole SSL n'a pas encore été défini dans notre configuration d'Exim4.
A l'issu de cette installation :
- les fichiers de configurations sont dans
/etc/exim4/
. Après toute modification manuelle de ces fichiers, il faudra exécuter les commandes :# update-exim4.conf # service exim4 restart
pour prendre en compte les modifications. - le fichier
/etc/mailname
contient votre_nom_de_domaine.fr entré lors de la configuration précédente; - le fichier
/etc/aliases
contient les redirections de courriers des comptes utilisateurs du système;
le fichier/etc/email-addresses
contient les adresses mails "publiques" à utiliser pour les comptes utilisateurs du système;
Après toute modification manuelle de ces deux fichiers, il faudra exécuter la commande :# newaliases
pour prendre en compte les modifications.
Configurons maintenant le mode SSL.
Pour cela, il faut éditer le fichier /etc/exim4/conf.d/transport/30_exim4-config_remote_smtp_smarthost
et rajouter les lignes en gras :
### transport/30_exim4-config_remote_smtp_smarthost ################################# # This transport is used for delivering messages over SMTP connections # to a smarthost. The local host tries to authenticate. # This transport is used for smarthost and satellite configurations. remote_smtp_smarthost: debug_print = "T: remote_smtp_smarthost for $local_part@$domain" driver = smtp protocol = smtps hosts_require_auth = ssl0.ovh.net hosts_try_auth = <; ${if exists{CONFDIR/passwd.client} \ {\ ${lookup{$host}nwildlsearch{CONFDIR/passwd.client}{$host_address}}\ }\ {} \ } .ifdef REMOTE_SMTP_SMARTHOST_HOSTS_AVOID_TLS hosts_avoid_tls = REMOTE_SMTP_SMARTHOST_HOSTS_AVOID_TLS .endif .ifdef REMOTE_SMTP_HEADERS_REWRITE headers_rewrite = REMOTE_SMTP_HEADERS_REWRITE .endif .ifdef REMOTE_SMTP_RETURN_PATH return_path = REMOTE_SMTP_RETURN_PATH .endif .ifdef REMOTE_SMTP_HELO_DATA helo_data=REMOTE_SMTP_HELO_DATA .endif .ifdef TLS_DH_MIN_BITS tls_dh_min_bits = TLS_DH_MIN_BITS .endifLes lignes à rajouter sont donc :
protocol = smtps hosts_require_auth = ssl0.ovh.netet éditons maintenant le fichier
/etc/exim4/passwd.client
pour définir l'utilisateur et le mot-de-passe à utiliser pour la connexion à OVH :
# password file used when the local exim is authenticating to a remote # host as a client. # # see exim4_passwd_client(5) for more documentation # # Example: ### target.mail.server.example:login:password ssl0.ovh.net:votre_utilisateur@votre_nom_de_domaine.fr:votre_mot_de_passeoù votre_utilisateur@votre_nom_de_domaine.fr doit être défini dans l'interface de gestion de votre FAI, ici OVH.
Puis comme expliqué plus haut, il faut utiliser successivement les commandes :
# update-exim4.conf # service exim4 restartpour prendre en compte les modifications.
Maintenant vous pourrez envoyer des mails vers l'extérieur en passant par votre serveur Exim4.