Mémo pour rediriger les emails root et les emails des utilisateurs en général sans changer leur configuration d’origine.
Juste avec Exim4.
Considérons un serveur Exim4 déjà installé et paramétré.
L’adresse email d’un utilisateur est normalement configurée dans le fichier /etc/email-addresses :
1 2 3 4 5 6 7 8 9 |
# 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 |
Le fichier /etc/aliases est de la forme :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# /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: jbnet-user clamav: root |
Ne pas utiliser le fichier ~/.forward !
A ce stade, les emails partiront vers root@domaineduserveur, root@empty, root@localhost.
Une première approche serait d’ajouter l’email dans le fichier /etc/email-addresses.
1 |
root: jbnet-user@domaine.lan |
Ce qui donnerait :
1 2 3 4 5 6 7 8 9 |
root@jbnet-web01:~# exim -brw root sender: jbnet-user@domaine.lan from: jbnet-user@domaine.lan to: root@domaine.lan cc: root@domaine.lan bcc: root@domaine.lan reply-to: jbnet-user@domaine.lan env-from: jbnet-user@domaine.lan env-to: root@domaine.lan |
Mais tout n’est pas modifié.
Utilisez la ré-écriture Exim (rewrite) pour modifier systématiquement tous les emails à destination de ces utilisateurs.
Si vous utilisez une configuration Exim4 dans un seul fichier, il faut modifier le fichier /etc/exim4/exim4.conf.template.
Vers la ligne 1739 :
1 2 3 4 5 6 7 8 9 10 11 12 |
###################################################################### # REWRITE CONFIGURATION # ###################################################################### begin rewrite jbnet-user@* monadresse@monfai.fr FfrsTtcb root@* monautreadresse@monfai.fr FfrsTtcb ##################################################### ### end rewrite/00_exim4-config_header ##################################################### |
Enregistrez les modifications.
Si vous utilisez une configuration Exim4 en fichiers séparés, il faut modifier le fichier /etc/exim4/conf.d/rewrite/00_exim4-config_header et ajouter les même lignes après « begin rewrite ».
Appliquez la modification et relancez le service exim4 :
1 2 |
command update-exim4.conf command service exim4 restart |
Testez avec root :
1 |
command exim -brw root |
Résultat :
1 2 3 4 5 6 7 8 |
sender: monautreadresse@monfai.fr from: monautreadresse@monfai.fr to: monautreadresse@monfai.fr cc: monautreadresse@monfai.fr bcc: monautreadresse@monfai.fr reply-to: monautreadresse@monfai.fr env-from: monautreadresse@monfai.fr env-to: monautreadresse@monfai.fr |
Même résultat avec :
1 |
command exim -brw root@localhost |
Au final, pour root et jbnet-user, quelque soit le domaine utilisé (ou pas), les emails qui leur seront destinés, seront renvoyés vers les adresses configurées dans la ré-écriture (rewrite) d’Exims4.
Plus d’informations sur le site exim.org.
Merci pour le tutoriel.
A quoi correspond la valeur FfrsTtcb ?
La première partie du tutoriel fonctionne mais je n’arrive pas à appliquer mon mail root sur toutes les lignes en utilisant la ré-écriture Exim (rewrite).
J’ai pu trouvé dans le lien que vous avez proposé.
E rewrite all envelope fields
F rewrite the envelope From field
T rewrite the envelope To field
b rewrite the Bcc: header
c rewrite the Cc: header
f rewrite the From: header
h rewrite all headers
r rewrite the Reply-To: header
s rewrite the Sender: header
t rewrite the To: header
Voilà, ça fonctionne, j’ai utilisé le fichier de configuration intégrale.
Le fichier de configuration séparé n’avait pas pris en compte la nouvelle configuration.
Comment savoir dans quel contexte d’utilisation on se trouve, configuration intégrale ou configuration séparée, sans avoir à expérimenter ?
Bonjour Ze00Cool, ravi de voir que tout s’arrange.
Par contre, j’avoue que cela fait longtemps que je n’ai pas utilisé Exim4.
Peut-être en utilisant la commande « $ dpkg-reconfigure exim4-config »