Agent de transfert de mail - exim

exim est un agent de transfert de mail. Dans la version simplifiée présentée ici, il est utilisé pour transmettre des courriels,

Ces emails peuvent être émis directement par l'utilisateur ou l'administrateur, mais égalent par certaines applications système qui prévoient cette utilisation.

1 - Installation

exim est généralement installé d'origine, si ce n'est pas le cas, l'installer simplement avec

# apt install exim4

2 - Configuration

La configuration comprend deux étapes :

2.1 - Configuration de exim

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.

2.1.1 Configuration par debconf

Lancer la configuration et suivre les différentes étapes

# dpkg-reconfigure exim4-config

eximconfig1

eximconfig2

exim3

exim4

exim5

eximconfig6

eximconfig7

eximconfig8

eximconfig9

eximconfig10

eximconfig11

eximconfig12

eximconfig13

eximconfig14

2.1.2 Configuration par édition du fichier configuration

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'

2.2 - Comptes utilisateurs sortant

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

2.3 - Redirection des courriels destinés à root

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.

# 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

2.4 - Prise en compte des modifications

Redémarrer exim :

# service exim4 restart

3 - Tests

3.1 - Test envoi local

$ echo "blablabla" |mail -s "Titre du courriel utilisateur" nom_utilisateur
# echo "blablabla" |mail -s "Titre du courriel root" root

Vérifier la bonne réception dans /var/mail/philippe.

3.2 - Test envoi à une adresse externe

$ 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.

3.3 - Divers

En cas de difficultés, des informations sont disponibles dans les logs de exim :

# tail -f /var/log/exim4/mainlog
# mailq
36m 1.2K 1bznZk-000220-HX <> *** frozen ***
root@asus
# exim -qff