Le problème avec la configuration précédente, c'est que si un utilisateur user1 veut envoyer un mél à un autre utilisateur en local user2, l'adresse de l'expéditeur sera réécrite en nom de domaine officielement enrégistré par un DNS (celui du fournisseur d'accès dans les exemples qu'on a vu), par exemple user1@fai.fr. Si l'utilisateur veut répondre à ce mél, il va répondre à user1@fai.fr, ce qui implique que le mél partira vers le serveur de méls du fournisseur d'accès pour revenir dans notre réseau local. Cela marchera, mais présente deux inconvégnients : le premier est que le mél va faire du trajet pour rien, prenant de la bande passante inutilement et mettant du temps pour être acheminé ; le second est que si la connexion avec le fournisseur d'accès est interompue (par soucis d'économie, par exemple), le courrier ne sera acheminé que lorsque la connexion sera rétablie.
Pour remédier à ce problème, il y a plusieurs solutions :
genericstable
pour réécrire les adresses de l'enveloppe. C'est cette dernière méthode qui est présentée par la suite ;
Pour cela, il faut rajouter les lignes suivantes à la fin du fichier de configuration à passer à m4 (il y a une tabulation après le $*
) :
Kinterneuser hash -o /etc/mail/interneuser LOCAL_RULE_0 R$+ < @ $+ . > $* $: < $(interneuser $1 @ $2 $: $) > $1 < @ $2 . > $3 R$+ < @ $+ $~. > $* $: < $(interneuser $1 @ $2 $3 $: $) > $1 < @ $2 $3 >$4 R< $+ > $+ < @ $+ > $* $@ $>97 $1 $4 R<> $+ < @ $+ > $* $: $1 < @ $2 > $3
Il faut ensuite éditer le fichier qui va servir à générer la base de données servant à la réécriture des adresses. Le fichier s'appelle interneuser :
loginlabas@fai.fr loginici
Ce fichier est à placer dans le répertoire /etc/mail, par exemple. Pour compiler la base de données, on fait :
# makemap hash /etc/mail/interneuser < /etc/mail/interneuser #
De même, pour s'assurer que tout les mél de notre domaine est délivré en local, et que tout le reste passe par le SMART HOST, on peut rajouter ceci :
LOCAL_NET_CONFIG R$* < @ $* .$m. > $* $#smtp $@ $2.$m. $: $1 < @ $2.$m. > $3
Il s'agit d'une règle de réécriture comme sendmail les aimes. Se reporter au guide d'administration réseau sous Linux [17] pour plus de détails.