<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Smtp on Шлакоблог</title><link>https://vodolaz095.ru/tags/smtp/</link><description>Recent content in Smtp on Шлакоблог</description><generator>Hugo -- 0.162.1</generator><language>ru-RU</language><lastBuildDate>Fri, 19 Jan 2024 13:54:20 +0300</lastBuildDate><atom:link href="https://vodolaz095.ru/tags/smtp/index.xml" rel="self" type="application/rss+xml"/><item><title>Curl - работаем с электронной почтой</title><link>https://vodolaz095.ru/curl_email/</link><pubDate>Fri, 19 Jan 2024 13:54:20 +0300</pubDate><author>Анатолий Остроумов</author><guid>https://vodolaz095.ru/curl_email/</guid><description>В статье рассказывается, как с помощью консольной утилиты curl можно проверять и отправлять электронную почту.</description><content type="text/html" mode="escaped"><![CDATA[<h1 id="проверить-почту-по-протоколу-imap">Проверить почту по протоколу IMAP<a href="#%d0%bf%d1%80%d0%be%d0%b2%d0%b5%d1%80%d0%b8%d1%82%d1%8c-%d0%bf%d0%be%d1%87%d1%82%d1%83-%d0%bf%d0%be-%d0%bf%d1%80%d0%be%d1%82%d0%be%d0%ba%d0%be%d0%bb%d1%83-imap" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
      stroke-linecap="round" stroke-linejoin="round" class="feather">
      <path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path>
      <line x1="8" y1="12" x2="16" y2="12"></line>
   </svg></a></h1>
<p>Чтобы проверить, какие расширения поддерживает IMAP сервер, можно вызвать такую команду</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-shell" data-lang="shell"><span style="display:flex;"><span><span style="color:#75715e">#!/usr/bin/env
</span></span></span><span style="display:flex;"><span>auth<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;vodolaz095:password&#34;</span>
</span></span><span style="display:flex;"><span>host<span style="color:#f92672">=</span>imaps://imap.example.org
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>curl --url $host --user $auth -X <span style="color:#e6db74">&#34;CAPABILITY&#34;</span>
</span></span></code></pre></div><p>Dovecot сервер версии <code>2.4.4</code>, с которым я эксперементировал, поддерживал эти функции:</p>
<pre tabindex="0"><code>CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY PREVIEW=FUZZY PREVIEW STATUS=SIZE SAVEDATE LITERAL+ NOTIFY SPECIAL-USE ACL RIGHTS=texk
</code></pre><p>Эта команды показывают все доступные директории:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-shell" data-lang="shell"><span style="display:flex;"><span><span style="color:#75715e">#!/usr/bin/env bash
</span></span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>auth<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;vodolaz095:password&#34;</span>
</span></span><span style="display:flex;"><span>host<span style="color:#f92672">=</span>imaps://imap.example.org
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>curl --url $host --user $auth -X <span style="color:#e6db74">&#39;LIST &#34;&#34; &#34;*&#34;&#39;</span>
</span></span></code></pre></div><p>Эта команда считает сообщения в директории INBOX:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-shell" data-lang="shell"><span style="display:flex;"><span><span style="color:#75715e">#!/usr/bin/env bash
</span></span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>auth<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;vodolaz095:password&#34;</span>
</span></span><span style="display:flex;"><span>host<span style="color:#f92672">=</span>imaps://imap.example.org
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>curl --url $host --user $auth -X <span style="color:#e6db74">&#39;STATUS INBOX (MESSAGES)&#39;</span>
</span></span></code></pre></div><p>Другие примеры опубликованы тут: <a href="https://everything.curl.dev/usingcurl/imap.html">https://everything.curl.dev/usingcurl/imap.html</a></p>
<h1 id="отправить-почту-по-smtp-submission-протоколу">Отправить почту по SMTP Submission протоколу<a href="#%d0%be%d1%82%d0%bf%d1%80%d0%b0%d0%b2%d0%b8%d1%82%d1%8c-%d0%bf%d0%be%d1%87%d1%82%d1%83-%d0%bf%d0%be-smtp-submission-%d0%bf%d1%80%d0%be%d1%82%d0%be%d0%ba%d0%be%d0%bb%d1%83" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
      stroke-linecap="round" stroke-linejoin="round" class="feather">
      <path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path>
      <line x1="8" y1="12" x2="16" y2="12"></line>
   </svg></a></h1>
<p>Сначала надо создать текстовой файл <code>email.txt</code> с письмом, которое мы хотим послать.</p>
<pre tabindex="0"><code>
From: vodolaz095 &lt;sender@example.org&gt;
To: vodolaz095 &lt;receiver@example.org&gt;
Subject: проверка почтой
Date: Mon, 17 Dec 2024 08:45:16

Проверка почты, если вы не получили это письмо, то я отправлю его ещё один раз.
Всех благ.
С уважением, Анатолий.
</code></pre><p>Потом письмо можно отправить такой командой</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-shell" data-lang="shell"><span style="display:flex;"><span><span style="color:#75715e">#!/usr/bin/env bash
</span></span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>auth<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;vodolaz095:password&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>curl smtp://smtp.example.org <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span>  --ssl-reqd <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span>  --user $auth <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span>  --mail-from sender@example.org <span style="color:#ae81ff">\ </span>
</span></span><span style="display:flex;"><span>  --mail-rcpt receiver@example.org <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span>  --upload-file email.txt
</span></span></code></pre></div><p>Другие примеры опубликованы тут: <a href="https://everything.curl.dev/usingcurl/smtp.html">https://everything.curl.dev/usingcurl/smtp.html</a></p>
]]></content></item></channel></rss>