Exim4 : Utilisez un compte smtp pour rediriger les e-mails locaux de votre serveur

Pour ceux qui possèdent un serveur perso, un VPS ou tout autre hébergement mais sans avoir configuré de serveur mail, il est possible de rediriger les e-mails envoyés par votre serveur aux compte locaux (root, postmaster… etc.) vers l’adresse e-mail de son choix. C’est extrêmement pratique pour recevoir des comptes rendus de certains service de sécurité notamment sans avoir à monter un serveur mail complet et configurer des clients.

De quoi avons-nous besoin ?

Prérequis : vous êtes sur Debian ou Ubunu ou tout autre distribution dérivée de Debian.

Dans cette procédure, nous aurons besoin des informations suivantes :

  • mymachine.fqdn : le nom de la machine locale (votre serveur), mettre ce que l’on veut mais on préférera un nom de domaine que l’on possède, qui soit accessible par DNS, et qui pointe effectivement sur votre serveur. Si c’est un hébergement dédié, utilisez le nom par défaut qui est dans /etc/hostname. Dans les autres cas, choisissez ce que vous voulez, c’est votre machine !
  • myemail@myprovider.tld : l’adresse e-mail vers laquelle on souhaite transférer les e-mails locaux. Par exemple : renard.chenapan@gmail.com ou kikilapetitesorciere@free.fr, enfin votre adresse quoi !
  • mySecretPassword : le mot de passe du compte e-mail myemail@myprovider.tld, le mot de passe de votre adresse e-mail en fait.
  • smtp.myprovider.tld : le nom du serveur smtp que l’on souhaite utiliser pour envoyer les e-mails, par exemple smtp.free.fr, smtp.gmail.com… C’est à vous de récupérer le nom du serveur smtp de votre fournisseur. Vous trouverez cette information sur les pages d’aide à la configuration de client e-mail de votre fournisseur (gmail, free ou autre).
  • smtpPort (587) : le port de connexion au serveur smtp. Ici on gardera 587 car on utilisera STARTTLS (pour ssl, c’est le port 465, mais une configuration supplémentaire est nécessaire et ne sera pas traitée ici). Ceci sous-entend bien entendu que le serveur supporte ce mode de connexion. C’est le cas de free et gmail notamment. Sauf que pour free, il faudra explicitement l’activer dans votre gestion de compte.

Notez-vous tout ça dans un petit fichier texte avant de poursuivre. Vous remplacerez ces variables par les vôtres (sauf pour le smtpPort qui restera 587).

Vérifier le nom de son serveur local

Dans le fichier /etc/hostname et /etc/mailname mettre :

mymachine.fqdn

S’assurer que le fichier /etc/hosts contiennent bien le nom de la machine devant 127.0.0.1 et ::1

127.0.0.1   localhost mymachine.fqdn
::1         localhost mymachine.fqdn ip6-localhost ip6-loopback
(...)

Installer et configurer exim4

Tapez ces commandes dans un terminal pour installer et configurer exim4 dans la foulée :

sudo apt-get install exim4
sudo dpkg-reconfigure exim4-config

Un assistant de configuration s’ouvre alors. A ces différentes questions, vous répondrez en remplaçant les variables citez plus haut par les vôtres :

  • General type of mail configuration: mail sent by smarthost; received via SMTP or fetchmail
  • System mail name : mymachine.fqdn
  • IP-addresses to listen on for incoming SMTP connections: 127.0.0.1 ; ::1
  • Other destinations for which mail is accepted: localhost;mymachine.fqdn
  • Machines to relay mail for : <vide>
  • IP address or host name of the outgoing smarthost: smtp.myprovider.tld::587
  • Hide local mail name in outgoing mail? No
  • Keep number of DNS-queries minimal (Dial-on-Demand)? No
  • Delivery method for local mail: mbox format in /var/mail/
  • Split configuration into small files? Yes

Renseigner les informations de votre connexion smtp

Modifier le fichier /etc/exim4/passwd.client ainsi :

# 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
smtp.myprovider.tld:myemail@myprovider.tld:mySecretPassword

Tester unitairement vos paramètres smtp

Créer un fichier mail-body.txt et mettez ce contenu :

to : myemail@myprovider.tld
from : root
subject : Test mail

Ceci est mon premier e-mail envoyé depuis mon serveur grâce à exim4

Pour envoyer l’e-mail et consulter les logs dans la foulée tapez la commande suivante (Ctrl+C pour sortir des logs) :

cat mail-body.txt | sendmail -t && tail -f /var/log/exim4/mainlog

Ajouter un alias pour root vers l’adresse e-mail de son choix

Modifier le fichier /etc/aliases ainsi :

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: myemail@myprovider.tld

Recharger les paramètres et redémarrer le service

Exécuter :

$ newaliases
$ update-exim4.conf
$ service exim4 restart

Tester unitairement pour la prise en compte de l’alias

Modifier le fichier mail-body.txt et mettez le contenu suivant (vous noterez le remplacement du destinataire par root).

to : root
from : root
subject : Test mail
Ceci est mon second e-mail envoyé depuis mon serveur grâce à exim4

Pour envoyer l’e-mail et consulter les logs dans la foulée, tapez la commande :

cat mail-body.txt | sendmail -t && tail -f /var/log/exim4/mainlog

Les valeurs des champs to et from auront alors été remplacés par myemail@myprovider.tld. A ce moment vous devrez recevoir l’email dans votre boîte myemail@myprovider.tld

Maintenant, tous les services de la machine configurés pour envoyer des e-mails à root seront transférés à myemail@myprovider.tld.

Et voilà !

Toutes les infos ont été récoltez sur ces pages, vous y trouverez également d’autres détails sur cette configuration :

Vous aimerez aussi...

Laisser un commentaire