exim est un agent de transfert de mail. Dans la version simplifiée présentée ici, il est utilisé pour transmettre des courriels,
soit localement, vers le fichier /var/spool/mail/nom_premier_utilisateur
soit vers un compte de messagerie externe, dans une configuration de type "smarthost". Cette configuration correspond au cas d'un réseau domestique connecté à internet par une "box", le serveur smtp du fournisseur de la box servant de relais.
Ces emails peuvent être émis directement par l'utilisateur ou l'administrateur, mais égalent par certaines applications système qui prévoient cette utilisation.
exim est généralement installé d'origine, si ce n'est pas le cas, l'installer simplement avec
# apt install exim4
La configuration comprend deux étapes :
la configuration de exim proprement dite - fichier update-exim4.conf.conf
exim4 peut-être configuré en éditant directement le fichier de configuration update-exim4.conf.conf. ou en utilisant debconf pour le modifier. Les deux résultats sont équivalents.
Lancer la configuration et suivre les différentes étapes
# dpkg-reconfigure exim4-config
Écran 1: Information
Alternativement, il est possible d'éditer directement le fichier de configuration
$ nano /etc/exim4/update-exim4.conf.conf ....
dc_eximconfig_configtype='smarthost'
dc_other_hostnames=''
dc_local_interfaces='127.0.0.1'
dc_readhost=''
dc_relay_domains=''
dc_minimaldns='false'
dc_relay_nets=''
dc_smarthost='smtp.free.fr'
CFILEMODE='644'
dc_use_split_config='false'
dc_hide_mailname='false'
dc_mailname_in_oh='true'
dc_localdelivery='mail_spool'
Indiquer dans le fichier email-addresses, pour chaque utilisateur, l'adresse à utiliser pour se connecter sur la machine qui sert de relais (serveur smtp free par exemple).
Dans l'exemple ci-dessous, on indique que utilisateur_principal et root sont des utilisateurs autorisés et que le compte à utliiser sur la machine relais (en l’occurrence le serveur smtp free) est exemple@free.fr..
# cat /etc/email-addresses
# This is /etc/email-addresses. It is part of the exim package
#
# This file contains email addresses to use for outgoing mail. Any local
# part not in here will be qualified by the system domain as normal.
#
# It should contain lines of the form:
#
#user: someone@isp.com
#otheruser: someoneelse@anotherisp.com
# par exemple :
utilisateur_principal : exemple@free.fr
root : exemple@free.fr
Par défaut, les courriels destinés à root sont envoyés à l'utilisateur_principal et ajoutés au fichier /var/spool/mail/utilisateur_principal. Pour qu'ils soient envoyés à une autre adresse, par exemple une adresse externe, modifier le fichier /etc/aliases.
Remplacer en dernière ligne du fichier, le nom d'utilisateur par l'adresse email externe souhaitée.
# cat /etc/aliases
# /etc/aliases
mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
root: adresse.email@domaine.fr
Redémarrer exim :
# service exim4 restart
Envoi d'un courriel en tant que utilisateur
$ echo "blablabla" |mail -s "Titre du courriel utilisateur" nom_utilisateur
Envoi d'un courriel en tant que root
# echo "blablabla" |mail -s "Titre du courriel root" root
Vérifier la bonne réception dans /var/mail/philippe.
En tant qu'utilisateur et en tant que root
$ echo "blablabla" |mail -s "Titre courriel" nom@domaine.com
# echo "blablabla" |mail -s "Titre courriel" nom@domaine.com
Vérifier dans la boîte aux lettres de nom@domaine.com l'arrivée des deux courriels.
Logs de exim
En cas de difficultés, des informations sont disponibles dans les logs de exim :
# tail -f /var/log/exim4/mainlog
Les courriels "gelés" sont gérés dans une queue
# mailq
36m 1.2K 1bznZk-000220-HX <> *** frozen ***
root@asus
Purge des courriels gelés dans la queue
# exim -qff