System-Linux

Aller au contenu | Aller au menu | Aller à la recherche

Envoyer un mail sans serveur smtp

Tutoriel sur ssmtp

Voici comment envoyer un mail sur un serveur qui n'a pas de MTA (Mail Transfert Agent) avec un petit logiciel nommé ssmtp

ssmtp va se charger de rediriger les mails vers un serveur SMTP externe, très souvent votre fournisseur d'accès internet. il est très léger et rapide, et ne demande que très peu de paramétrage.

Encore une fois ssmtp ne fait que fournir une implémentation sendmail de type "client SMTP", il n'y a aucun démon lancé. Il suffit donc juste de l'installer :

///

   # est-ce que l'on a déjà une implémentation de sendmail ?
   root#whereis sendmail
   sendmail:
    
   # à l'évidence non, installation de ssmtp
   root#urpmi ssmtp
   ftp://ftp.proxad.net/pub/Distributions_Linux/MandrivaLinux/official/2009.0/x86_64/media/contrib/release/ssmtp-2.62-2mdv2009.0.x86_64.rpm
   installation de ssmtp-2.62-2mdv2009.0.x86_64.rpm depuis /var/cache/urpmi/rpms
   Préparation ... ##########################################################################################
   1/1: ssmtp ##########################################################################################
    
   # Et cette fois ?
   root#whereis sendmail
   sendmail: /usr/sbin/sendmail
    
   # Et qui est derrière ce "sendmail" ?
   root#ls -la /usr/sbin/sendmail
   lrwxrwxrwx 1 root root 34 2009-01-27 21:22 /usr/sbin/sendmail -> /etc/alternatives/sendmail-command*
   root#ls -la /etc/alternatives/sendmail-command
   lrwxrwxrwx 1 root root 15 2009-01-27 21:22 /etc/alternatives/sendmail-command -> /usr/sbin/ssmtp*
   root# 
   installation de ssmtp

Ici la commande /usr/sbin/sendmail est donc un lien symbolique vers le client SMTP. Côté paramétrage, il nous faut maintenant modifier le fichier /etc/ssmtp/ssmtp.conf pour désigner le serveur SMTP à contacter :

   # Touts les uid < 1000 utiliserons cette address pour leur From
   # ainsi un démon d'uid 75 qui cherche à envoyer un mail sera connu
   # par cette adresse
   root=root@mon-domaine.net
   # L'adresse ou le nom de votre vrai serveur SMTP
   mailhub=mon_serveur_smtp_reel
   # Le domaine que ssmtp utilisera pour se présenter
   rewriteDomain=monDomaine.net
   # Le nom de machine que ssmtp utilisera pour se présenter
   hostname=barbouze

Pour tester, nous allons maintenant utiliser l'ancestrale commande mail :

   gaston$mail -s "Très important" administrateurs@monDomaine.net
   Le café est en train de caraméliser !!
   <CTRL-D>
   EOT
   gaston$
   gaston$ 
   test de l'envoi de courriel

Si tout s'est bien passé le courriel va partir être transmis à ssmtp via la commande sendmail. Et ssmtp var contacter le serveur SMTP décrit par mailhub pour lui fournir notre message. Simple et efficace.

Par GanGan | le jeudi, mai 1 2008 08:01

Commentaires

1. Peter Potrowl

jeudi, décembre 24 2009 | 09:58

Merci !

C'est une alternative très intéressante à sendmail et compagnie, quand on n'a pas besoin d'un serveur.

C'est beaucoup plus léger et aussi plus sécurisé (pas de port ouvert en permanence sur la machine).