<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Воронин: заметки с тегом mail</title>
<link>https://voronin.one/tags/mail/</link>
<description>воронин, voronin, it</description>
<author></author>
<language>ru</language>
<generator>Aegea 11.4 (v4171)</generator>

<itunes:subtitle>воронин, voronin, it</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit></itunes:explicit>

<item>
<title>автоматизируем очистку почтового ящика по-расписанию</title>
<guid isPermaLink="false">33</guid>
<link>https://voronin.one/all/avtomatiziruem-ochistku-pochtovogo-yaschika-po-raspisaniyu/</link>
<pubDate>Thu, 08 Sep 2022 17:13:44 +0300</pubDate>
<author></author>
<comments>https://voronin.one/all/avtomatiziruem-ochistku-pochtovogo-yaschika-po-raspisaniyu/</comments>
<description>
&lt;p&gt;собственно subj, на примере яндекса&lt;/p&gt;
&lt;p&gt;я хочу удалять с сервера старые письма (старше недели) с уведомлениями, которые у меня накапливаются в отдельной папке&lt;/p&gt;
&lt;p&gt;для начала идём в настройки безопасности &lt;a href="https://id.yandex.ru/security"&gt;https://id.yandex.ru/security&lt;/a&gt;&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://voronin.one/pictures/image-23.png" width="625" height="323" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;выбираем «Пароли приложений» &lt;a href="https://id.yandex.ru/profile/apppasswords-list"&gt;https://id.yandex.ru/profile/apppasswords-list&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;и создаем новый пароль для приложения, нам требуется сгенерить пароль для доступа к Почте, указываем понятное нам название и генерим пароль&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://voronin.one/pictures/image-25.png" width="668" height="395" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;на самом деле — это очень правильно, т. к. мы не будем хранить в ком-то скрипте свой основной пароль в открытом виде&lt;/p&gt;
&lt;p&gt;а дальше, собственно, сам скрипт&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;&amp;lt;?php
$auth_mail = &amp;#039;user@yandex.ru&amp;#039;; // логин
$auth_pass = &amp;#039;$tr0ngP@$$w0rd&amp;#039;; // пароль
$server = &amp;#039;{imap.yandex.ru:993/imap/ssl}&amp;#039;.&amp;#039;INBOX&amp;#039;; // подключение к серверу к папке входящие
$filter_str = &amp;#039;BEFORE &amp;quot;&amp;#039;.date(&amp;#039;d-M-Y&amp;#039;, strtotime(&amp;#039;-7 days&amp;#039;)).&amp;#039;&amp;quot;&amp;#039;; // фильтр, чтобы получить письма старше 7 дней

$imap = imap_open($server, $auth_mail, $auth_pass) or die(&amp;quot;Не удалось подключиться: &amp;quot;.imap_last_error());
// подключаемся
$some = imap_search($imap, $filter_str);
// применяем фильтр
if ($some !== false) {
// если что-то нашли - в цикле обходим
foreach ($some as $msg_id)
{ //  и помечаем на удаление каждое письмо с его id
echo &amp;quot;delete message #&amp;quot;.$msg_id.&amp;quot;\n&amp;quot;;
imap_delete($imap, $msg_id);
}
}
// окончательно удаляем отмеченные письма и отключаемся
imap_expunge($imap);
imap_close($imap);
?&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;обратите внимание, я в переменную «$server» добавил строку из двух частей, вторая чать в примере подключит вас к папке «Входящие», если вам надо выбрать другую папку — укажите свой путь, например:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;INBOX|&amp;BCEEPgRGBEEENQRCBDg-&lt;/b&gt; — это папка &lt;b&gt;Входящие — Соцсети&lt;/b&gt;, записанная в кодировке UTF7-IMAP&lt;/p&gt;
&lt;p&gt;список папок можно получить командой&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;$list = imap_list($imap, &amp;quot;{imap.yandex.ru}&amp;quot;, &amp;quot;*&amp;quot;);
if (is_array($list)) {
foreach ($list as $val) {
echo mb_convert_encoding($val, &amp;quot;UTF-8&amp;quot;, &amp;quot;UTF7-IMAP&amp;quot;).&amp;quot;\n&amp;quot;;
echo $val.&amp;quot;\n\n&amp;quot;;
}
}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;первой строкой будет выводится декодированное (читабельное) название, второй строкой исходное, которое и надо будет подставлять в свой скрипт выше&lt;/p&gt;
</description>
</item>


</channel>
</rss>