Ssmtp pour remplacer sendmail

Sur mon serveur FreeBSD j’ai 4 jails et par défaut le système envoie régulièrement des security run output à root@localhost pour l’informer de ce qu’il se passe sur le système (nouveau fichiers etc). Tout ça c’est très bien sauf que un hote et 4 jails ça fait 5 compte mail à visiter, c’est pas trop convi et en plus on a pas envie de faire tourner sendmail juste pour ça.

J’ai donc décidé d’utiliser un MTA très simple appelé (devinez comment) : Simple smtp agent. Chaque mail envoyé depuis la machine (en appelant sendmail) partira vers un serveur smtp de mon choix, ainsi je récupère tous les mails sur mon compte mail usuel.

# cd /usr/ports/mail/ssmtp
# make install
Information for ssmtp-2.62.3:
Install notice:
sSMTP has been installed successfully.
To replace sendmail with ssmtp type "make replace"
# make replace

Ensuite j’ai crée mon /usr/local/etc/ssmtp/ssmtp.conf :

# Serveur de mail à contacter pour l'envoi + le port
# par defaut c'est le port 25
mailhub=mail.philpep.org:578
# Domaine d'où semble venir le mail
rewriteDomain=philpep.org
# Domaine à donner pendant le HELO
# À accorder avec le reverse DNS de votre machine
# vu depuis le serveur de mail.
hostname=shen.philpep.org

Arrangez vous pour que le serveur de mail accepte de vous relayer, moi c’est le cas parce que je suis en local et mon postfix relaie ce qui vient du réseau local. Mais si ce n’est pas le cas (genre vous utilisez le serveur mail de votre fournisseur de mail), on peut configurer l’authentification SMTP, SSL/TLS et tout le reste.

Ensuite désactivez sendmail dans /etc/rc.conf puisqu’il ne sert plus :

sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"

Pour tester l’envoi :

$ dmesg | mail -s "works ?" lapin@barreenfer.com
$ if [[ $? -ne 0 ]]; then man ssmtp; fi

EDIT 5/01/10 17:15

  • client smtp -> MTA