© Tito
Configuration minimaliste de Sendmail
Configurez sendmail pour que votre machine linux puisse relayer des mails vers l'extérieur (en php, script etc) et pour recevoir tous les mails systèmes (logwatch etc ... ) sur une bal externe.
1/ Install sendmail et sendmail-cf
à adapter à votre distrib, pour des redhat /fedora utilisant yum voici :
yum install sendmail sendmail-cf
2/ Edition du fichier de config de sendmail :
Pour utiliser le relais de messagerie de votre FAI (par ex smtp.free.fr), éditez /etc/mail/sendmail.mc et modifiez comme ceci la ligne SMART HOST pour signifier que tous les mails doivent être relayés vers le relais de vers votre FAI (il faut ôter le mot
dnl qui sert à désactiver la ligne) :
define(`SMART_HOST',`smtp:smtp.free.fr')
3/ Recompiler le fichier de config de sendmail
le sendmail.mc est un fichier de macro commandes écrites en langage M4, il faut le recompiler pour produire le vrai ifchier de config /etc/mail/sendmail.cf :
make -C /etc/mail
4/ Activer et relancer sendmail :
chkconfig sendmail on
service sendmail restart
5/ Editer le fichier d'alias local
pour que les mails adressés à root (mails d'administration système tels que logwatch etc ... ) soit passés à une bal distante telle que toto@free.fr , éditer simplement /etc/aliases et en fin de fichier ajoutez cette ligne pour créer un alias :
root: toto@free.fr
6/ Recompiler le fichier d'aliases pour que sendmail le prenne en compte :
newaliases
Voila c'est fini. Maintenant les mails systemes seront relayés à l'extérieur et votre linux est capable de relayer tous vos mails, que ce soit en php, en ligne de commande etc ...
Un test en ligne de commande (les 2 mails doivent arriver sur la bal de toto@free.fr puisque nous avons créé un alias en ce sens pour root dans /etc/aliases ) :
echo coucou |mail root -s "test 1 pour root"
echo coucou |mail toto@free.fr -s "test 2 pour toto"
Utilisateurs de evolution ou thunderbird : pour adresser vos mails directement depuis evolution ou thunderbird, vous avez déja renseigné un relais externe en configurant le logiciel (smtp.free.fr par exemple), donc pas besion de relais local tel que sendmail pour vos mails persos écrits à la main bien sur... Mais attention , sans un relais local, tous les mails adressés automatiquement par le système ne pourront pas sortir (le système n'utilise pas evolution ou thunderbird lui !) et donc vous vous privez souvent des mails Logwatch (rapports quotidiens d'activité de votre machine adressés à root) et vous vous privez de pouvoir envoyer des mails via d'autres logiciels (développement PHP, sites web locaux, services/démons, batch etc ... ).
NOTE : si sendmail bloque au lancement, c'est certainement un problème de résolution inverse sur votre adresse IP. Il faut que votre ip corresponde à un nom complet (server.mondomaine) et non pas seulement à un nom court (server) . En général le problème ne se pose pas en DHCP (sauf réseaux locaux d'entreprise mal configurés) mais en ip statique, dans ce cas il suffit de complèter le fichier /etc/hosts pour ajouter un nom complet en face de votre ip.
Pour aller plus loin :
6 921 clics - Créé le 23/02/2009 par Tito - Modifié le 18/04/2012