======Configurer EXIM4 en smarthost avec support SSL====== __mercredi 24 septembre 2014, 22:43__ 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 exim4 et configurerons le en mode relais ("smarthost") : # dpkg-reconfigure exim4-config en 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 où votre_réseau_local est généralement de la forme "192.168.0.0/24". 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 .endif Les lignes à rajouter sont donc : protocol = smtps hosts_require_auth = ssl0.ovh.net et é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_passe où 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 restart pour prendre en compte les modifications. Maintenant vous pourrez envoyer des mails vers l'extérieur en passant par votre serveur Exim4.