Rediriger les mails adressés à un utilisateur: smtp FAI exim

Vous souhaitez rediriger les mails adressés a root ou a un autre utilisateur sur une adresse email externe ?

Nous allons utiliser exim4 et le serveur smtp de votre FAI, vous pouvez facilement monter votre propre serveur smtp avec exim, mais vue que les smtp provenant d’adresses ip perso sont de plus en plus souvent inscrit dans les listes de SPAM je ne le conseil pas.

exim4 est livré en standard avec debian, le tuto s’adresse à sarge, mais doit pouvoir fonctionner ailleurs. exim n’a peut etre pas les prblemes que j’ai rencontré dans des versions plus récentes…

:arrow_right: apt-get install exim4
Le paquet devrait déjà etre présent dans ce cas: dpkg-reconfigure exim4-config

:arrow_right: L’un des premiers choix disponible est la division des fichiers de config, répondez “no” (c’est ce que j’ai fais, le tuto sera plus simple a suivre).

:arrow_right: Ensuite pour envoyer les mails via un smtp externe il faut choisir smarthost
Vous pouvez choisir smarthost + smtp et fetchmail si vous voulez que l’on puisse récupérer et/ou envoyer des mail depuis votre serveur (il peut etre pratique de relayer le smtp de votre FAI pour l’utiliser avec votre portable depuis l’extérieur) mais je n’aborderai que le coté smarthost.

:arrow_right: Ensuite vous devez définir le nom qui sera afficher derrière le @ dans le champ “from” des mails.
Vous devez y inscrire nomdelamachine.domaine (séparé par un point) sinon ca ne fonctionne pas, je ne sais pas pourquoi mais je me suis arraché les cheveux là dessus!

:arrow_right: Pour le reste de la config suivez les instructions c’est transparent.

:arrow_right: Allez modifier /etc/aliases et ajouter : utilisateur: email_ou@rediriger
l’utilisateur peut etre root mais aussi n’importe quel utilisateur, vous recevrez des mail de utilisateur@nondelamachine.domaine

:arrow_right: Si vous utilisez un serveur smtp qui nécessite une identification n’oubliez pas d’aller modifier /etc/exim4/passwd.client ajoutez:
serveursmtp:login:password
/etc/init.d/exim4 restart pour redemarer exim

:arrow_right: Et le petit détail qui tue sinon pareil ca ne fonctionne pas chez moi:
allez rajouter dans /etc/exim4/exim4.conf.template la ligne :

driver = smtp
helo_data = "nomdelamachine"
hosts_try_auth = ${if exists {CONFDIR/passwd.client}{DCsmarthost}{}}

et ce au bon endroit sinon meme chose ca ne marche pas!

[i]Voilà autant que mes mésaventures servent a quelqu’un…

J’ajoute que exim envoie automatiquement en TLS (crypté) si le serveur s’annonce (advertise) bien comme tel.
Vous pouvez vérifier que son envoi se fait bien en TLS ou diagnostiquer tout autre probleme dans les logs: /var/log/exim4 [/i]

Des remarques, des modifications ? je suis ouvert a tout…
:wink:

Alors personne n’a une variable qui prend le nom de la machine pour que je mette ca dans le fichier de config ?

bon, c’est TLS, pas TSL, et un serveur s’annonce comme supportant le mode crypté.
Sinon, je ne vois pas trop bien de quel type de variable tu veux parler.
Tu as le nom de machine dans /etc/hostname et avec la commande hostname, et pour savoir de quelles variables dispose ton shell courant, tu fais ‘env’, mais il n’y a pas par défaut de variable HOSTNAME

C’est corrigé.
OK pour la variable, j’y connais rien en programmation, mais c’est vrai que une variable dans un fichier de config c’est peut etre utopique :smiley:

Non: tu peux effectivement fabriquer un script qui ecrit ta config en fonction du hostname.

Ouai mais faudrait l’intégrer au paquet, si ca se trouve c’est corrigé dans les versions plus récente.