{"id":1345,"date":"2015-02-22T16:37:01","date_gmt":"2015-02-22T15:37:01","guid":{"rendered":"https:\/\/www.fanjoe.be\/?p=1345"},"modified":"2015-03-13T21:41:37","modified_gmt":"2015-03-13T20:41:37","slug":"raspberry-pi-ssmtp-envoi-de-mails-par-le-systeme","status":"publish","type":"post","link":"https:\/\/www.fanjoe.be\/?p=1345","title":{"rendered":"Raspberry Pi : sSMTP : Envoi de mails par le syst\u00e8me"},"content":{"rendered":"<p>Lorsque l&rsquo;on a besoin de recevoir des emails envoy\u00e9s par le syst\u00e8me (cron, scripts, PHP, &#8230;) il est n\u00e9cessaire d&rsquo;installer un \u00ab\u00a0<a title=\"MTA\" href=\"https:\/\/www.debian.org\/doc\/manuals\/debian-reference\/ch06.fr.html#_mail_transport_agent_mta\" target=\"_blank\">Agent de Transport de Courrier \u00e9lectronique<\/a>\u00a0\u00bb (MTA) car aucun n&rsquo;est install\u00e9 par d\u00e9faut sur Raspbian.<!--more--><\/p>\n<p>Sans MTA, dans WordPress, la proc\u00e9dure de recouvrement du mot de passe se solde par une erreur de ce type :<\/p>\n<pre>Le message n'a pas pu \u00eatre envoy\u00e9.\r\nRaison possible : votre h\u00e9bergeur peut avoir d\u00e9sactiv\u00e9 la fonction mail().<\/pre>\n<p><a href=\"https:\/\/www.fanjoe.be\/wp-content\/uploads\/2015\/02\/SSMTP-02.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1348\" data-permalink=\"https:\/\/www.fanjoe.be\/?attachment_id=1348\" data-orig-file=\"https:\/\/www.fanjoe.be\/wp-content\/uploads\/2015\/02\/SSMTP-02.png\" data-orig-size=\"883,307\" data-comments-opened=\"1\" data-image-title=\"SSMTP-02\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/www.fanjoe.be\/wp-content\/uploads\/2015\/02\/SSMTP-02-620x216.png\" class=\"alignnone size-large wp-image-1348\" src=\"https:\/\/www.fanjoe.be\/wp-content\/uploads\/2015\/02\/SSMTP-02-620x216.png\" alt=\"sSMTP-02\" width=\"620\" height=\"216\" srcset=\"https:\/\/www.fanjoe.be\/wp-content\/uploads\/2015\/02\/SSMTP-02-620x216.png 620w, https:\/\/www.fanjoe.be\/wp-content\/uploads\/2015\/02\/SSMTP-02-175x61.png 175w, https:\/\/www.fanjoe.be\/wp-content\/uploads\/2015\/02\/SSMTP-02-300x104.png 300w, https:\/\/www.fanjoe.be\/wp-content\/uploads\/2015\/02\/SSMTP-02.png 883w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/a><\/p>\n<p>La commande suivante entr\u00e9e dans le shell retournera \u00e9galement une erreur :<\/p>\n<pre>$ echo \"Petit test de mail\" | mail test@fanjoe.be<\/pre>\n<pre>\/usr\/lib\/sendmail: Aucun fichier ou dossier de ce type\r\n\"\/home\/pi\/dead.letter\" 8\/212\r\n. . . message not sent.<\/pre>\n<p>Dans notre cas, nous aurons besoin d&rsquo;un MTA qui aura pour seule t\u00e2che de rediriger nos mails vers le serveur SMTP de notre provider.<\/p>\n<p>Mon choix s&rsquo;est port\u00e9 sur <a title=\"sSMTP\" href=\"http:\/\/www.admin-linux.fr\/?p=1471\" target=\"_blank\">sSMTP<\/a> car il est tr\u00e8s l\u00e9ger en m\u00e9moire et est tr\u00e8s simple \u00e0 installer.<\/p>\n<p>Comme d&rsquo;habitude, nous commencerons par :<\/p>\n<pre>$ sudo apt-get update &amp;&amp; sudo apt-get upgrade<\/pre>\n<p>Puis, on va installe sSMTP :<\/p>\n<pre>$ sudo apt-get install ssmtp<\/pre>\n<p>Une fois l&rsquo;op\u00e9ration termin\u00e9e, on va configurer sSMTP :<\/p>\n<pre>$ sudo nano \/etc\/ssmtp\/ssmtp.conf<\/pre>\n<p>Par exemple :<\/p>\n<pre>#\r\n# Config file for sSMTP sendmail\r\n#\r\n# The person who gets all mail for userids &lt; 1000\r\n# Make this empty to disable rewriting.\r\n#root=postmaster\r\nroot=admin@domaine.tld\r\n\r\n# The place where the mail goes. The actual machine name is required no\r\n# MX records are consulted. Commonly mailhosts are named mail.domain.com\r\nmailhub=smtp.votre_provider.tld\r\n\r\n# Where will the mail seem to come from?\r\n#rewriteDomain=\r\n\r\n# The full hostname\r\nhostname=votre_domaine.tld\r\n\r\n# Are users allowed to set their own From: address?\r\n# YES - Allow the user to specify their own From: address\r\n# NO - Use the system generated From: address\r\nFromLineOverride=YES<\/pre>\n<p>Un exemple de configuration pour Gmail est disponible \u00e0 cette adresse :<br \/>\n<a title=\"sSMTP Gmail\" href=\"https:\/\/wiki.archlinux.org\/index.php\/SSMTP\" target=\"_blank\">https:\/\/wiki.archlinux.org\/index.php\/SSMTP<\/a><\/p>\n<p>Puis, on va d\u00e9terminer les alias, c&rsquo;est \u00e0 dire quelle adresse mail sera substitu\u00e9e \u00e0 chaque utilisateur.<\/p>\n<p><strong>Ex.:<\/strong> On ne veut peut-\u00eatre pas que l&rsquo;utilisateur \u00ab\u00a0pi\u00a0\u00bb envoi un mail avec pour adresse d&rsquo;exp\u00e9diteur pi@domaine.tld mais plut\u00f4t avec prenom.nom@gmail.com.<\/p>\n<p>$ sudo nano \/etc\/ssmtp\/revaliases<\/p>\n<p>On y ajoute par exemple :<\/p>\n<pre>root:admin@domaine.tld:smtp.votre_provider.tld\r\npi:prenom.nom@gmail.com:smtp.votre_provider.tld<\/pre>\n<p>Pour permettre \u00e0 PHP d&rsquo;envoyer \u00e9galement des mails, nous allons \u00e9diter le fichier <code>php.ini<\/code> :<\/p>\n<pre>$ sudo nano \/etc\/php5\/fpm\/php.ini<\/pre>\n<p>Et modifier la ligne 976 comme ceci :<\/p>\n<pre>sendmail_path = \/usr\/sbin\/ssmtp -t<\/pre>\n<p>Red\u00e9marrer PHP :<\/p>\n<pre>$ sudo service php5-fpm restart<\/pre>\n<p>Si vous utilisez un firewall, il convient d&rsquo;ouvrir les ports SMTP 25\/587\/465 :<\/p>\n<pre>$ sudo nano \/etc\/init.d\/firewall<\/pre>\n<p>On ajoute cette ligne :<\/p>\n<pre># Allows SMTP access\r\niptables -A OUTPUT -p tcp --dport 25 -j ACCEPT<\/pre>\n<p>On assigne une ligne pour chaque port n\u00e9cessaire :<\/p>\n<blockquote><p>25 (sans authentification)<br \/>\n587 (avec authentification)<br \/>\n465 (SSL)<\/p><\/blockquote>\n<p>Si vous utilisez des actions <strong>cron<\/strong> vous devrez ajouter ceci \u00e0 la fin de chaque ligne :<\/p>\n<pre>2&gt;&amp;1<\/pre>\n<p>Sans \u00e7a, chaque action cron vous enverra un mail.<\/p>\n<p>D\u00e9sormais, cette commande enverra un email \u00e0 nom.prenom@gmail.com contenant \u00ab\u00a0Test Subject\u00a0\u00bb comme sujet et \u00ab\u00a0Hello world\u00a0\u00bb dans le corps du mail.<\/p>\n<pre>$ echo \"Hello world\" | mail -s \"Test Subject\" nom.prenom@gmail.com<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Lorsque l&rsquo;on a besoin de recevoir des emails envoy\u00e9s par le syst\u00e8me (cron, scripts, PHP, &#8230;) il est n\u00e9cessaire d&rsquo;installer&#8230;<\/p>\n","protected":false},"author":1,"featured_media":1356,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","jetpack_post_was_ever_published":false},"categories":[10,3,12],"tags":[125,126,124],"class_list":["post-1345","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-geek","category-informatique","category-raspberrypi","tag-mail","tag-smtp","tag-ssmtp","end"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/www.fanjoe.be\/wp-content\/uploads\/2015\/02\/SSMTP-01.png","_links":{"self":[{"href":"https:\/\/www.fanjoe.be\/index.php?rest_route=\/wp\/v2\/posts\/1345","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fanjoe.be\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fanjoe.be\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fanjoe.be\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fanjoe.be\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1345"}],"version-history":[{"count":0,"href":"https:\/\/www.fanjoe.be\/index.php?rest_route=\/wp\/v2\/posts\/1345\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fanjoe.be\/index.php?rest_route=\/wp\/v2\/media\/1356"}],"wp:attachment":[{"href":"https:\/\/www.fanjoe.be\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1345"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fanjoe.be\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1345"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fanjoe.be\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1345"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}