{"id":302,"date":"2022-01-12T15:33:33","date_gmt":"2022-01-12T14:33:33","guid":{"rendered":"https:\/\/codacola.xyz\/?p=302"},"modified":"2022-04-15T21:39:10","modified_gmt":"2022-04-15T19:39:10","slug":"ssmtp-envoyer-des-emails-depuis-linux","status":"publish","type":"post","link":"https:\/\/hinakuu.xyz\/?p=302","title":{"rendered":"SSMTP : envoyer des emails depuis Linux"},"content":{"rendered":"\n<p><strong>ssmtp<\/strong> permet \u00e0 des applications d&rsquo;envoyer des courriels via la commande <code>\/usr\/sbin\/sendmail<\/code>. Contrairement \u00e0 postfix, il ne fait que rediriger les courriers vers un serveur SMTP externe. C&rsquo;est donc un outil tr\u00e8s l\u00e9ger et rapide, et qui ne demande que tr\u00e8s peu de param\u00e9trage.<\/p>\n\n\n\n<p>A quoi cela peut servir ?<\/p>\n\n\n\n<p>ssmtp peut permettre facilement\u202f:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\u00e0 CRON, ou encore \u00e0 la commande at, de publier leurs r\u00e9sultats ;<\/li><li>d&rsquo;envoyer des courriels via le terminal ;<\/li><li>aux CMS et LMS d&rsquo;un environnement de d\u00e9veloppement lampp d&rsquo;envoyer des courriels via sendmail (ex : tester les messages envoy\u00e9s par Drupal ou Spip).<\/li><\/ul>\n\n\n\n<p>Si vous voulez savoir si vous pouvez utiliser sendmail avant cette installation, entrez : <code>whereis sendmail<\/code> Si vous n&rsquo;avez rien, l&rsquo;installation et la configuration de ssmtp vous permettra d&rsquo;utiliser sendmail.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Post-installation :<\/h3>\n\n\n\n<p>On peut commencer par retirer le serveur de mail de Debian : exim4<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">sudo dpkg -r exim4\nsudo dpkg --purge exim4<\/mark><\/pre>\n\n\n\n<p>On installe ensuite SSMTP<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">sudo<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">apt-get install ssmtp<\/mark><\/pre>\n\n\n\n<p>Linux utilise <a rel=\"noreferrer noopener\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Sendmail\" target=\"_blank\">sendmail<\/a> pour envoyer un email. On va v\u00e9fifier que c&rsquo;est bien SSMTP qui fait appel \u00e0 lui<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">ls -la \/usr\/sbin\/sendmail<\/mark><\/pre>\n\n\n\n<p>Et si vous voyez quelque chose dans ce genre c&rsquo;est que c&rsquo;est bon<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">lrwxrwxrwx 1 root root 5 Jul 14  2014 \/usr\/sbin\/sendmail -> ssmtp<\/mark><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Configuration<\/strong> :<\/h3>\n\n\n\n<p><br>Voici un exemple de configuration avec Openmailbox.org. Libre \u00e0 vous d&rsquo;utiliser un autre prestataire d&#8217;emails, pensez bien \u00e0 modifier dans ce cas le serveur smtp et le port SSL\/TLS de ce dernier.<br>Le plus simple pour le configurer est de partir de 0. Pour \u00e7a on copie sa configuration initiale et on supprime l&rsquo;originale<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">sudo cp \/etc\/ssmtp\/ssmtp.conf \/etc\/ssmtp\/ssmtp.conf.BACK\nsudo rm \/etc\/ssmtp\/ssmtp.conf<\/mark><\/pre>\n\n\n\n<p>Puis on recr\u00e9e le fichier de conf<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">sudo nano \/etc\/ssmtp\/ssmtp.conf<\/mark><\/pre>\n\n\n\n<p>Et on y ajoute \u00ab\u00a0notre\u00a0\u00bb configuration<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-luminous-vivid-amber-color\"># Config file for sSMTP sendmail\n#\n# The person who gets all mail for userids &lt; 1000\n# Make this empty to disable rewriting.\n<\/mark>root=XXX@openmailbox.org<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-luminous-vivid-amber-color\">\n\n# The place where the mail goes. The actual machine name is required no\n# MX records are consulted. Commonly mailhosts are named mail.domain.com\n<\/mark>mailhub=smtp.openmailbox.org:587<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-luminous-vivid-amber-color\">\n\n# Where will the mail seem to come from?\n<\/mark>rewriteDomain=openmailbox.org<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-luminous-vivid-amber-color\">\n\n# The full hostname\n<\/mark>hostname=localhost<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-luminous-vivid-amber-color\">\n\n# Use SSL\/TLS before starting negotiation\n<\/mark>UseTLS=Yes\nUseSTARTTLS=Yes\n<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-luminous-vivid-amber-color\">\n# Username\/Password\n<\/mark>AuthUser=XXX@openmailbox.org\nAuthPass=mot_de_passe_compliqu\u00e9<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-luminous-vivid-amber-color\">\n\n# Email 'From header's can override the default domain?\n<\/mark>FromLineOverride=yes<\/code><\/pre>\n\n\n\n<p><strong>Passer outre l&rsquo;erreur Sender address rejected: not owned by user XXX@openmailbox.org<\/strong><\/p>\n\n\n\n<p><br>Par d\u00e9faut l&#8217;email est envoy\u00e9 avec une adresse reprenant le nom d&rsquo;utilisateur @localhost. Si vous ou votre script\/logiciel veut envoyer un email l&rsquo;utilisateur sera lors \u00ab\u00a0root\u00a0\u00bb ou encore \u00ab\u00a0Aerya\u00a0\u00bb ou \u00ab\u00a0Logwatch\u00a0\u00bb etc. Car outre les classiques comptes root\/user il arrive, et c&rsquo;est mieux, qu&rsquo;on fasse tourner certains services sur un user d\u00e9di\u00e9.<br><br>Et le domaine sera soit celui rattach\u00e9 \u00e0 votre serveur, soit son IP soit&#8230; le domaine du prestataire d&#8217;email.<br>C&rsquo;est en effet comme \u00e7a que j&rsquo;ai param\u00e9tr\u00e9 SSMTP plus haut :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\"># Where will the mail seem to come from?\nrewriteDomain=openmailbox.org<\/mark><\/pre>\n\n\n\n<p>Si vous ne voulez pas vous pouvez juste commenter la ligne rewriteDomain= (en mettant # devant).<br>Ce n&rsquo;est ni une arnaque ni un spoofing c&rsquo;est juste que c&rsquo;est plus propre d&rsquo;envoyer un email depuis un domaine que d&rsquo;une IP. Car tout le monde n&rsquo;a pas de domaine ou sous-domaine rattach\u00e9 \u00e0 son serveur. Si c&rsquo;est votre cas, bien entendu ajustez le rewriteDomain en cons\u00e9quence.<br><br>Bref, en l\u2019occurrence Openmailbox.org d\u00e9tecte que l&#8217;email est envoy\u00e9 par mon User sur le serveur et non pas par XXX@openmailbox.org et rejette donc logiquement l&#8217;email. Il faut indiquer \u00e0 sendmail que les 2 utilisateurs sont les m\u00eames en \u00e9ditant (ou cr\u00e9ant) un aliase pour l&rsquo;utilisateur local :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">sudo nano \/etc\/ssmtp\/revaliases<\/mark><\/pre>\n\n\n\n<p>Et on ajoute autant de ligne que d&rsquo;utilisateur devant envoyer un email<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-luminous-vivid-amber-color\"># sSMTP aliases\n#\n# Format:       local_account:outgoing_address:mailhub\n#\n# Example: root:your_login@your.domain:mailhub.your.domain&#91;:port]\n# where &#91;:port] is an optional port number that defaults to 25.\n<\/mark>root:XXX@openmailbox.org:smtp.openmailbox.org:587\nuser1:XXX@openmailbox.org:smtp.openmailbox.org:587\nuser2:XXX@openmailbox.org:smtp.openmailbox.org:587<\/code><\/pre>\n\n\n\n<p><strong>V\u00e9rification<\/strong><br>On peut tout simplement v\u00e9rifier que tout est correctement configur\u00e9 en s&rsquo;envoyant un email avec cette commande : <\/p>\n\n\n\n<p><em>echo contenu de l&#8217;email | mail -s \u00ab\u00a0sujet\u00a0\u00bb destinataire<\/em><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">echo Contenu_Test | mail -s \"Ceci est un test\" moi@monemail.com<\/mark><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>ssmtp permet \u00e0 des applications d&rsquo;envoyer des courriels via la commande \/usr\/sbin\/sendmail. Contrairement \u00e0 postfix, il ne fait<\/p>\n","protected":false},"author":1,"featured_media":304,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-302","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=\/wp\/v2\/posts\/302","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=302"}],"version-history":[{"count":1,"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=\/wp\/v2\/posts\/302\/revisions"}],"predecessor-version":[{"id":652,"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=\/wp\/v2\/posts\/302\/revisions\/652"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=\/wp\/v2\/media\/304"}],"wp:attachment":[{"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=302"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=302"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=302"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}