<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.rtzra.ru/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>RTzRa&#039;s hive - software:postfix</title>
        <description>Все работает</description>
        <link>https://wiki.rtzra.ru/</link>
        <lastBuildDate>Sun, 19 Jul 2026 21:17:05 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://wiki.rtzra.ru/_media/wiki/logo.png</url>
            <title>RTzRa&#039;s hive</title>
            <link>https://wiki.rtzra.ru/</link>
        </image>
        <item>
            <title>DKIM + Postfix + Amavis</title>
            <link>https://wiki.rtzra.ru/software/postfix/dkim-postfix</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;dkim_postfix_amavis&quot;&gt;DKIM + Postfix + Amavis&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Что только не придумали, лишь бы от SMTP не избавляться…
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DKIM + Postfix + Amavis&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;dkim_postfix_amavis&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-140&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;dkim_postfix_prosto&quot;&gt;DKIM + Postfix = просто&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://habrahabr.ru/post/141534/&quot; class=&quot;urlextern&quot; title=&quot;http://habrahabr.ru/post/141534/&quot; rel=&quot;ugc nofollow&quot;&gt;http://habrahabr.ru/post/141534/&lt;/a&gt;
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Подписывать исходящие письма с помощью DKIM в Postfix не просто, а очень просто.
&lt;/p&gt;

&lt;p&gt;
Для этого нам потребуется сам Postfix и замечательный во всех отношениях пакет dkim-filter.
&lt;/p&gt;

&lt;p&gt;
Установим его с помощью вашего пакетного менеджера:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ sudo aptitude install dkim-filter&lt;/pre&gt;

&lt;p&gt;
В конец его конфига /etc/dkim-filter.conf дописываем:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Canonicalization    relaxed/relaxed
KeyList         /etc/dkim-keys.conf
Domain *
BodyLengths yes
On-DNSError accept&lt;/pre&gt;

&lt;p&gt;
Создадим каталог под ключи:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ sudo mkdir -p /etc/postfix/dkim/
$ sudo chgrp postfix /etc/postfix/dkim/
$ sudo chmod 750 /etc/postfix/dkim/
$ cd /etc/postfix/dkim/&lt;/pre&gt;

&lt;p&gt;
Генерируем ключи для сервера mail.example.com:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ sudo dkim-genkey -d example.com -s mail -r &lt;/pre&gt;

&lt;p&gt;
Сейчас в mail.txt у нас лежит TXT запись, которую нужно добавить в &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt;, а в mail.private лежит приватный ключ, который и будет использоваться для подписи писем. Запись, которую нужно добавить в &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt;, будет вида:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mail._domainkey.mydomain.ru. IN TXT &amp;quot;v=DKIM1; g=*; k=rsa; p=...&amp;quot;&lt;/pre&gt;

&lt;p&gt;
Теперь обязательно нужно удалить расширение у файла с ключом, потому что в описываемой мною схеме dkim-filter берёт имя сервера из имени файла с ключом:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ sudo mv mail.private mail&lt;/pre&gt;

&lt;p&gt;
В файл /etc/dkim-keys.conf записываем какие домены каким ключом нужно подписывать:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;*@mydomain.ru:mydomain.ru:/etc/postfix/dkim/mail
*:mydomain.ru:/etc/postfix/dkim/mail&lt;/pre&gt;

&lt;p&gt;
Аналогично можно добавить свои отдельные ключи для других доменов или даже для отдельных адресов. Если не нужно, чтобы dkim-filter подписывал письма для всех других доменов, не указанных явно, последнюю строчку можно удалить.
&lt;/p&gt;

&lt;p&gt;
В /etc/default/dkim-filter объясним dkim-демону где ему ждать подключений:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;SOCKET=&amp;quot;inet:8891@localhost&amp;quot;&lt;/pre&gt;

&lt;p&gt;
Наконец, добавим в конец /etc/postfix/main.cf следующие строки:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;milter_default_action = accept
milter_protocol = 2
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891&lt;/pre&gt;

&lt;p&gt;
Не забываем добавить TXT запись и проверить, что она на месте:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ dig txt mail._domainkey.mydomain.ru&lt;/pre&gt;

&lt;p&gt;
Готово!&lt;br /&gt;
Перезапускаем postfix и dkim-filter, отправляем тестовое письмо куда-нибудь на Яндекс и наслаждаемся успешным результатом проверки подписи:
&lt;/p&gt;

&lt;p&gt;
Если проверка прошла успешно то стоит формально запретить другим серверам принимать письма с вашим доменом, но без подписи, добавив в &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt; нашу ADSP запись:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;_adsp._domainkey.mydomain.ru. IN TXT «dkim=all».&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DKIM + Postfix = \u043f\u0440\u043e\u0441\u0442\u043e&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;dkim_postfix_prosto&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;141-3766&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;google_i_dkim&quot;&gt;Google и DKIM&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Как научить Google подписывать почту через DKIM: &lt;a href=&quot;http://support.google.com/a/bin/answer.py?hl=en&amp;amp;answer=174124&quot; class=&quot;urlextern&quot; title=&quot;http://support.google.com/a/bin/answer.py?hl=en&amp;amp;answer=174124&quot; rel=&quot;ugc nofollow&quot;&gt;http://support.google.com/a/bin/answer.py?hl=en&amp;amp;answer=174124&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Google \u0438 DKIM&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;google_i_dkim&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:11,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;3767-3937&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;dkim_verifikacija_sredstvami_amavisd-new_i_spamassassin&quot;&gt;DKIM верификация средствами Amavisd-new и SpamAssassin&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.sergeysl.ru/freebsd-dkim-amavisd-new-spamassassin/&quot; class=&quot;urlextern&quot; title=&quot;http://www.sergeysl.ru/freebsd-dkim-amavisd-new-spamassassin/&quot; rel=&quot;ugc nofollow&quot;&gt;http://www.sergeysl.ru/freebsd-dkim-amavisd-new-spamassassin/&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/postfix?do=showtag&amp;amp;tag=postfix&quot; class=&quot;wikilink1&quot; title=&quot;tag:postfix&quot; rel=&quot;tag&quot;&gt;postfix&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/google?do=showtag&amp;amp;tag=google&quot; class=&quot;wikilink1&quot; title=&quot;tag:google&quot; rel=&quot;tag&quot;&gt;google&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/dkim?do=showtag&amp;amp;tag=DKIM&quot; class=&quot;wikilink1&quot; title=&quot;tag:dkim&quot; rel=&quot;tag&quot;&gt;DKIM&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/dkim-filter?do=showtag&amp;amp;tag=dkim-filter&quot; class=&quot;wikilink1&quot; title=&quot;tag:dkim-filter&quot; rel=&quot;tag&quot;&gt;dkim-filter&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/milter?do=showtag&amp;amp;tag=milter&quot; class=&quot;wikilink1&quot; title=&quot;tag:milter&quot; rel=&quot;tag&quot;&gt;milter&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DKIM \u0432\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 Amavisd-new \u0438 SpamAssassin&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;dkim_verifikacija_sredstvami_amavisd-new_i_spamassassin&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:11,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;3938-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 09 May 2017 15:34:00 +0000</pubDate>
        </item>
        <item>
            <title>Postfix - изменяем адрес отправителя</title>
            <link>https://wiki.rtzra.ru/software/postfix/postfix-change-sendername</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;postfix_-_izmenjaem_adres_otpravitelja&quot;&gt;Postfix - изменяем адрес отправителя&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Если с сервера идет рассылка писем и адрес по умолчанию root@server1.mydomain.com не подходит, хочется что-то вроде mega-sender@mydomain.com надо изменить настройку postfix следующим образом:
&lt;/p&gt;

&lt;p&gt;
В файл /etc/postfix/main.cf дописываем такую строку:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;smtp_generic_maps = hash:/etc/postfix/generic&lt;/pre&gt;

&lt;p&gt;
В файл /etc/postfix/generic добавляем строку:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;root@server1.mydomain.com mega-sender@mydomain.com&lt;/pre&gt;

&lt;p&gt;
Создаем хеш-файл:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;postmap /etc/postfix/generic&lt;/pre&gt;

&lt;p&gt;
Перезапускаем postfix:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# sudo service postfix restart&lt;/pre&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/postfix?do=showtag&amp;amp;tag=postfix&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:postfix&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; postfix&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/sender_address?do=showtag&amp;amp;tag=sender_address&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:sender_address&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; sender address&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/smtp_generic_maps?do=showtag&amp;amp;tag=smtp_generic_maps&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:smtp_generic_maps&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; smtp generic maps&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 09 May 2017 15:34:00 +0000</pubDate>
        </item>
        <item>
            <title>Postfix - доставка входящих писем сразу на несколько ...</title>
            <link>https://wiki.rtzra.ru/software/postfix/postfix-dualdelivery</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;postfix_-_dostavka_vxodjaschix_pisem_srazu_na_neskolko_serverov_dual_delivery&quot;&gt;Postfix - доставка входящих писем сразу на несколько серверов (dual delivery)&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Сама статья и описание: &lt;a href=&quot;http://pjrlost.blogspot.ru/2012/11/smtp-delivery-to-two-mail-servers-via.html&quot; class=&quot;urlextern&quot; title=&quot;http://pjrlost.blogspot.ru/2012/11/smtp-delivery-to-two-mail-servers-via.html&quot; rel=&quot;ugc nofollow&quot;&gt;http://pjrlost.blogspot.ru/2012/11/smtp-delivery-to-two-mail-servers-via.html&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;plugin_note notewarning&quot;&gt;Внимание, оригинальный скрипт не умеет доставлять почту если в списке получателей больше одного адреса! См. прикрепленные файлы и описание!
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Postfix - \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0430 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u043f\u0438\u0441\u0435\u043c \u0441\u0440\u0430\u0437\u0443 \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 (dual delivery)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;postfix_-_dostavka_vxodjaschix_pisem_srazu_na_neskolko_serverov_dual_delivery&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-539&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;skripty&quot;&gt;Скрипты&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Оригинальный скрипт: &lt;a href=&quot;https://wiki.rtzra.ru/_media/software/postfix/smtpdd.tar.gz&quot; class=&quot;media mediafile mf_gz&quot; title=&quot;software:postfix:smtpdd.tar.gz (1.9 KB)&quot;&gt;smtpdd.tar.gz&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Модифицированный скрипт, для доставки писем с несколькими получателями: &lt;a href=&quot;https://wiki.rtzra.ru/_media/software/postfix/smtpdd.many-users.zip&quot; class=&quot;media mediafile mf_zip&quot; title=&quot;software:postfix:smtpdd.many-users.zip (1.7 KB)&quot;&gt;smtpdd.many-users.zip&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u043a\u0440\u0438\u043f\u0442\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;skripty&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;540-831&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;zadacha&quot;&gt;Задача&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Необходимо доставлять приходящие на почтовый шлюз письма сразу на несколько почтовых серверов без использования пересылок, сборщиков писем и т.д. Это может быть необходимо для:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; резервирование почтовых серверов&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; тестирование настроек почтовых серверов&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; тестирование антиспамовых и антивирусных продуктов&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; сбор всей проходящий почты (мало ли зачем это может быть вам необходимо)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.rtzra.ru/_detail/software/postfix/smtp_dual.png?id=software%3Apostfix%3Apostfix-dualdelivery&quot; class=&quot;media&quot; title=&quot;software:postfix:smtp_dual.png&quot;&gt;&lt;img src=&quot;https://wiki.rtzra.ru/_media/software/postfix/smtp_dual.png?w=800&amp;amp;tok=075e88&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;800&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0417\u0430\u0434\u0430\u0447\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;zadacha&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;832-1611&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;reshenie&quot;&gt;Решение&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Будем использовать Postfix (в роли MTA), msmtp (для пересылки почты) и скрипт smtpdd.sh который и реализует логику пересылки писем.
&lt;/p&gt;

&lt;p&gt;
Сервера:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; mailrelay - сервер, принимающий почту из Интернета&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; mainserver - основной почтовый сервер организации&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; backupserver - дополнительный (резервный) сервер организации&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; testserver - тестовый сервер, доставка на который неважна (дошло письмо - хорошо, не дошло - не страшно)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Таким образом, путь почты выглядит следующим образом:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; письмо приходит из Интернета на сервер mailrelay&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; сервер mailrelay пересылает его на следующие сервера:&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; mainserver - доставка обязательна&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; backupserver - доставка обязательна&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; testserver - доставка желательна&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0420\u0435\u0448\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;reshenie&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1612-2790&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;shag_1&quot;&gt;Шаг 1&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Устанавливаем msmtp:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ apt-get install msmtp&lt;/pre&gt;

&lt;p&gt;
Важное примечание: в Ubuntu 14.04.4 версия msmtp довольно старая - 1.4.31-1, возможно стоит собрать более новую версию самостоятельно, как описано вот тут: &lt;a href=&quot;https://wiki.rtzra.ru/devops/make-deb&quot; class=&quot;wikilink2&quot; title=&quot;devops:make-deb&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;devops:make-deb&quot;&gt;Компиляция пакетов для Ubuntu&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0428\u0430\u0433 1&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;shag_1&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;2791-3215&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;shag_2&quot;&gt;Шаг 2&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Скачать прилагаемый к данной заметке скрипт smtpdd.many-users.zip и развернуть его в /opt:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# mkdir /opt/smtpdd
# unzip smtpdd.many-users.zip&lt;/pre&gt;

&lt;p&gt;
Создать папку для временного хранения очереди доставки:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# mkdir /var/spool/smtpdd&lt;/pre&gt;

&lt;p&gt;
Создаем пользователя, под которым будет работать скрипт:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# useradd smtpdd
# chown -R smtpdd:smtpdd /opt/smtpdd
# chown -R smtpdd:smtpdd /var/spool/smtpdd&lt;/pre&gt;

&lt;p&gt;
И напоследок, добавить задание cron для доставки отложенных писем (с опцией доставки «o»):
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# crontab -e -u smtpdd&lt;/pre&gt;

&lt;p&gt;
строку:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;0 * * * * /opt/smtpdd/smtpdd.sh  /var/spool/smtpdd/ qrun &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0428\u0430\u0433 2&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;shag_2&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;3216-4110&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;shag_3&quot;&gt;Шаг 3&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Добавляем в /etc/postfix/master.cf строки:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;dualdelivery    unix    - n n - 5 pipe
        user=smtpdd argv=/opt/smtpdd/smtpdd.sh /var/spool/smtpdd/ ${sender} ${recipient}
        mainserver:25:q backupserver:25:q testserver:25:d&lt;/pre&gt;

&lt;p&gt;
Сервер записывается в формате: имя_сервера:порт:опция_доставки
&lt;/p&gt;

&lt;p&gt;
Опции доставки:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; q - deliver and queue if fail&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; d - deliver and delete if fail&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; o - deliver and only queue the mail - this means that mail is just thrown straight into the smtpdd queue and wont be delivered until the qrun cronjob is executed&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Включаем dualdelivery для smtp - в файле /etc/postfix/master.cf изменяем строку smtp (обычно она первая) и приводим ее к следующему виду:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;smtp      inet  n       -       -       -       -       smtpd
       -o content_filter=dualdelivery&lt;/pre&gt;

&lt;p&gt;
Не забываем прописать одну из этих настроек: relay_domains или virtual_mailbox_domains чтобы mailrelay пересылал почту.
&lt;/p&gt;

&lt;p&gt;
Если доставка почты нужна на сам mailrelay, нужно добавить /etc/postfix/master.cf строки:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;localhost:10026 inet n - n - - smtpd
   -o content_filter=
   -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks,no_milters&lt;/pre&gt;

&lt;p&gt;
и изменить dualdelivery - добавить localhost:10026:q
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;dualdelivery    unix    - n n - 5 pipe
        user=smtpdd argv=/opt/smtpdd/smtpdd.sh /var/spool/smtpdd/ ${sender} ${recipient}
        localhost:10026:q mainserver:25:q backupserver:25:q testserver:25:d&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0428\u0430\u0433 3&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;shag_3&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:6,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;4111-5872&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;shag_4&quot;&gt;Шаг 4&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Скрипт smtpdd.sh имеет одну неприятную особенность: он не умеет правильно работать с несколькими получателями - письмо доходит только первому пользователю из списка. Это исправляется просто: в файл /etc/postfix/main.cf необходимо добавить строки:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# Для dualdelivery - двойной доставки на несколько почтовых серверов
# dualdelivery в имени переменной - это название транспорта из master.cf
# без данной настройки почта не будет доставляться если письмо отправлялось сразу
# нескольким пользователям
dualdelivery_destination_recipient_limit = 1&lt;/pre&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/postfix?do=showtag&amp;amp;tag=postfix&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:postfix&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; postfix&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/dualdelivery?do=showtag&amp;amp;tag=dualdelivery&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:dualdelivery&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; dualdelivery&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/dual?do=showtag&amp;amp;tag=dual&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:dual&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; dual&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/delivery?do=showtag&amp;amp;tag=delivery&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:delivery&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; delivery&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/msmtp?do=showtag&amp;amp;tag=msmtp&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:msmtp&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; msmtp&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/smtpdd?do=showtag&amp;amp;tag=smtpdd&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:smtpdd&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; smtpdd&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0428\u0430\u0433 4&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;shag_4&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:10,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;5873-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 07 Jan 2022 15:02:49 +0000</pubDate>
        </item>
        <item>
            <title>Postfix в качестве почтового шлюза организации</title>
            <link>https://wiki.rtzra.ru/software/postfix/postfix-mail-gate</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;postfix_v_kachestve_pochtovogo_shljuza_organizacii&quot;&gt;Postfix в качестве почтового шлюза организации&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div class=&quot;plugin_note noteimportant&quot;&gt;Черновик!
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Postfix \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u043e\u0447\u0442\u043e\u0432\u043e\u0433\u043e \u0448\u043b\u044e\u0437\u0430 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;postfix_v_kachestve_pochtovogo_shljuza_organizacii&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-138&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;spisok_zadach&quot;&gt;Список задач&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Postfix должен выступать шлюзом для Microsoft Exchange&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Должна проводиться проверка на существование почтового ящика перед приемом письма - как довольно простой этап отсеивания спама&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Серые списки - борьба со спамом&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Проверка антивирусом. Все зараженные письма блокировать&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Проверка и анализ на принадлежность к спаму: пометить письмо, но доставить пользователю&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Dualdelivery. Входящая почта должна доставляться на основной и дополнительный почтовые сервера&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u043f\u0438\u0441\u043e\u043a \u0437\u0430\u0434\u0430\u0447&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;spisok_zadach&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;139-1005&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;ispolzuemoe_po&quot;&gt;Используемое ПО&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; postfix - почтовый сервер (MTA)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; postfix-ldap - для работы с MS Active Directory&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; postgrey - серые списки&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; amavis - анализатор, использует антивирус и антиспам&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; clamav - антивирус&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; spamassassin - оценка спама&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0435 \u041f\u041e&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ispolzuemoe_po&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1006-1370&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;ustanovka&quot;&gt;Установка&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;Postfix &amp;amp; Active Directory integration
# apt-get install postfix

Postfix &amp;amp; Active Directory integration
# apt-get install postfix-ldap

Amavis
# apt-get install amavis amavisd-new

ClamAV
# apt-get install clamav clamav-daemon clamav-dreshclam

Архиваторы для распаковки вложений
# apt-get install zoo unzip bzip2 p7zip cpio cabextract tnef pax nomarch lzop altermime arj lhasa ripole unrar&lt;/pre&gt;

&lt;p&gt;
…
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ustanovka&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1371-1845&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;integracija_s_microsoft_active_directory&quot;&gt;Интеграция с Microsoft Active Directory&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Создаем файл ldap_mydomain.ru.cf с примерно таким содержимым:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# Проверка существования почтовых ящиков в Active Directory

server_host = ldap://mydomain.int
server_port = 3268
timeout = 60
search_base = DC=mydomain,DC=int
query_filter = (&amp;amp;(proxyAddresses=smtp:%s)(!(userAccountControl:1.2.840.113556.1.4.803:=2))(|(objectClass=user)(objectClass=group)(objectClass=contact)(objectClass=publicFolder)))
result_format = %s
result_attribute = cn
#result_attribute = sAMAccountName
special_result_attribute =
scope = sub
bind = yes
bind_dn = ldaplookup@mydomain.int
bind_pw = LDAPSecretPassword
dereference = 0
domain = mydomain.ru
version=3
debuglevel = 0
#debuglevel = 9&lt;/pre&gt;

&lt;p&gt;
Проверяем как оно работает:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# postmap -q someuser@mydomain.ru ldap://etc/postfix/ldap_mydomain.ru.cf&lt;/pre&gt;

&lt;p&gt;
Если все хорошо и правильно - должны показаться ФИО учетной записи someuser@mydomain.ru
&lt;/p&gt;

&lt;p&gt;
Добавляем проверку в postfix/main.cf:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;virtual_mailbox_maps = ldap:/etc/postfix/ldap_mydomain.ru.cf&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 Microsoft Active Directory&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;integracija_s_microsoft_active_directory&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1846-3080&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;amavis&quot;&gt;Amavis&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Настраиваем по очереди в /etc/amavis/conf.d/ (показаны только основные изменения)
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;01-debian&lt;/strong&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;use strict;

$ENV{PATH} = $path = &amp;#039;/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:/usr/bin:/bin&amp;#039;;
$file   = &amp;#039;file&amp;#039;;
$gzip   = &amp;#039;gzip&amp;#039;;
$bzip2  = &amp;#039;bzip2&amp;#039;;
$lzop   = &amp;#039;lzop&amp;#039;;
$rpm2cpio   = [&amp;#039;rpm2cpio.pl&amp;#039;,&amp;#039;rpm2cpio&amp;#039;];
$cabextract = &amp;#039;cabextract&amp;#039;;
$uncompress = [&amp;#039;uncompress&amp;#039;, &amp;#039;gzip -d&amp;#039;, &amp;#039;zcat&amp;#039;];
$unfreeze   = [&amp;#039;unfreeze&amp;#039;, &amp;#039;freeze -d&amp;#039;, &amp;#039;melt&amp;#039;, &amp;#039;fcat&amp;#039;];
$arc        = [&amp;#039;nomarch&amp;#039;, &amp;#039;arc&amp;#039;];
$unarj      = [&amp;#039;arj&amp;#039;, &amp;#039;unarj&amp;#039;];
$unrar      = [&amp;#039;rar&amp;#039;, &amp;#039;unrar&amp;#039;]; #disabled (non-free, no security support)
$zoo    = &amp;#039;zoo&amp;#039;;
$lha    = &amp;#039;lha&amp;#039;;
$lha    = undef;
$pax    = &amp;#039;pax&amp;#039;;
$cpio   = &amp;#039;cpio&amp;#039;;
$ar     = &amp;#039;ar&amp;#039;;
$ripole = &amp;#039;ripole&amp;#039;;
$dspam  = &amp;#039;dspam&amp;#039;;

1;  # ensure a defined return&lt;/pre&gt;

&lt;p&gt;
&lt;strong&gt;15-av_scanners&lt;/strong&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
### http://www.clamav.net/
 [&amp;#039;ClamAV-clamd&amp;#039;,
   \&amp;amp;ask_daemon, [&amp;quot;CONTSCAN {}\n&amp;quot;, &amp;quot;/var/run/clamav/clamd.ctl&amp;quot;],
   qr/\bOK$/m, qr/\bFOUND$/m,
   qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ],&lt;/pre&gt;

&lt;p&gt;
&lt;strong&gt;15-content_filter_mode&lt;/strong&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;use strict;

# You can modify this file to re-enable SPAM checking through spamassassin
# and to re-enable antivirus checking.

#
# Default antivirus checking mode
# Please note, that anti-virus checking is DISABLED by
# default.
# If You wish to enable it, please uncomment the following lines:

@bypass_virus_checks_maps = (
   \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);

#
# Default SPAM checking mode
# Please note, that anti-spam checking is DISABLED by
# default.
# If You wish to enable it, please uncomment the following lines:

@bypass_spam_checks_maps = (
   \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);

1;  # ensure a defined return&lt;/pre&gt;

&lt;p&gt;
&lt;strong&gt;20-debian_defaults&lt;/strong&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;use strict;
$QUARANTINEDIR = &amp;quot;$MYHOME/virusmails&amp;quot;;
$quarantine_subdir_levels = 1; # enable quarantine dir hashing
$log_recip_templ = undef;    # disable by-recipient level-0 log entries
$DO_SYSLOG = 1;              # log via syslogd (preferred)
$syslog_ident = &amp;#039;amavis&amp;#039;;    # syslog ident tag, prepended to all messages
$syslog_facility = &amp;#039;mail&amp;#039;;
$syslog_priority = &amp;#039;debug&amp;#039;;  # switch to info to drop debug output, etc
$enable_db = 1;              # enable use of BerkeleyDB/libdb (SNMP and nanny)
$enable_global_cache = 1;    # enable use of libdb-based cache if $enable_db=1
$inet_socket_port = 10024;   # default listening socket
$sa_spam_subject_tag = &amp;#039;***SPAM*** &amp;#039;;
$sa_tag_level_deflt  = -999;  # add spam info headers if at, or above that level
$sa_tag2_level_deflt = 6.0; # add &amp;#039;spam detected&amp;#039; headers at that level
$sa_kill_level_deflt = 21.0; # triggers spam evasive actions
$sa_dsn_cutoff_level = 7;   # spam level beyond which a DSN is not sent
$sa_mail_body_size_limit = 200*1024; # don&amp;#039;t waste time on SA if mail is larger
$sa_local_tests_only = 0;    # only tests which do not require internet access?
$MAXLEVELS = 14;
$MAXFILES = 1500;
$MIN_EXPANSION_QUOTA =      100*1024;  # bytes
$MAX_EXPANSION_QUOTA = 300*1024*1024;  # bytes
$final_virus_destiny      = D_DISCARD;  # (data not lost, see virus quarantine)
$final_banned_destiny     = D_BOUNCE;   # D_REJECT when front-end MTA
$final_spam_destiny       = D_DISCARD;
$final_bad_header_destiny = D_PASS;     # False-positive prone (for spam)
$enable_dkim_verification = 1;
$virus_admin = &amp;quot;postmaster\@$mydomain&amp;quot;; # due to D_DISCARD default
$X_HEADER_LINE = &amp;quot;$myproduct_name at $mydomain&amp;quot;;
@viruses_that_fake_sender_maps = (new_RE(
  [qr&amp;#039;\bEICAR\b&amp;#039;i =&amp;gt; 0],            # av test pattern name
  [qr/.*/ =&amp;gt; 1],  # true for everything else
));
@keep_decoded_original_maps = (new_RE(
  qr&amp;#039;^MAIL-UNDECIPHERABLE$&amp;#039;, # recheck full mail if it contains undecipherables
  qr&amp;#039;^(ASCII(?! cpio)|text|uuencoded|xxencoded|binhex)&amp;#039;i,
));
$banned_filename_re = new_RE(
  # block certain double extensions anywhere in the base name
  qr&amp;#039;\.[^./]*\.(exe|vbs|pif|scr|bat|cmd|com|cpl|dll)\.?$&amp;#039;i,
  qr&amp;#039;\{[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}\}?$&amp;#039;i, # Windows Class ID CLSID, strict
  qr&amp;#039;^application/x-msdownload$&amp;#039;i,                  # block these MIME types
  qr&amp;#039;^application/x-msdos-program$&amp;#039;i,
  qr&amp;#039;^application/hta$&amp;#039;i,
  qr&amp;#039;.\.(exe|vbs|pif|scr|bat|cmd|com|cpl)$&amp;#039;i, # banned extension - basic
  qr&amp;#039;^\.(exe-ms)$&amp;#039;,                       # banned file(1) types
);
@score_sender_maps = ({ # a by-recipient hash lookup table,
                        # results from all matching recipient tables are summed
  ## site-wide opinions about senders (the &amp;#039;.&amp;#039; matches any recipient)
  &amp;#039;.&amp;#039; =&amp;gt; [  # the _first_ matching sender determines the score boost
   new_RE(  # regexp-type lookup table, just happens to be all soft-blacklist
    [qr&amp;#039;^(bulkmail|offers|cheapbenefits|earnmoney|foryou)@&amp;#039;i         =&amp;gt; 5.0],
    [qr&amp;#039;^(greatcasino|investments|lose_weight_today|market\.alert)@&amp;#039;i=&amp;gt; 5.0],
    [qr&amp;#039;^(money2you|MyGreenCard|new\.tld\.registry|opt-out|opt-in)@&amp;#039;i=&amp;gt; 5.0],
    [qr&amp;#039;^(optin|saveonlsmoking2002k|specialoffer|specialoffers)@&amp;#039;i   =&amp;gt; 5.0],
    [qr&amp;#039;^(stockalert|stopsnoring|wantsome|workathome|yesitsfree)@&amp;#039;i  =&amp;gt; 5.0],
    [qr&amp;#039;^(your_friend|greatoffers)@&amp;#039;i                                =&amp;gt; 5.0],
    [qr&amp;#039;^(inkjetplanet|marketopt|MakeMoney)\d*@&amp;#039;i                    =&amp;gt; 5.0],
   ),
   { # a hash-type lookup table (associative array)
     #&amp;#039;nobody@cert.org&amp;#039;                        =&amp;gt; -3.0,
     #&amp;#039;cert-advisory@us-cert.gov&amp;#039;              =&amp;gt; -3.0,
     #&amp;#039;owner-alert@iss.net&amp;#039;                    =&amp;gt; -3.0,
     #&amp;#039;slashdot@slashdot.org&amp;#039;                  =&amp;gt; -3.0,
     #&amp;#039;securityfocus.com&amp;#039;                      =&amp;gt; -3.0,
     #&amp;#039;ntbugtraq@listserv.ntbugtraq.com&amp;#039;       =&amp;gt; -3.0,
     #&amp;#039;security-alerts@linuxsecurity.com&amp;#039;      =&amp;gt; -3.0,
     #&amp;#039;mailman-announce-admin@python.org&amp;#039;      =&amp;gt; -3.0,
     #&amp;#039;amavis-user-admin@lists.sourceforge.net&amp;#039;=&amp;gt; -3.0,
     #&amp;#039;amavis-user-bounces@lists.sourceforge.net&amp;#039; =&amp;gt; -3.0,
     #&amp;#039;spamassassin.apache.org&amp;#039;                =&amp;gt; -3.0,
     #&amp;#039;notification-return@lists.sophos.com&amp;#039;   =&amp;gt; -3.0,
     #&amp;#039;owner-postfix-users@postfix.org&amp;#039;        =&amp;gt; -3.0,
     #&amp;#039;owner-postfix-announce@postfix.org&amp;#039;     =&amp;gt; -3.0,
     #&amp;#039;owner-sendmail-announce@lists.sendmail.org&amp;#039;   =&amp;gt; -3.0,
     #&amp;#039;sendmail-announce-request@lists.sendmail.org&amp;#039; =&amp;gt; -3.0,
     #&amp;#039;donotreply@sendmail.org&amp;#039;                =&amp;gt; -3.0,
     #&amp;#039;ca+envelope@sendmail.org&amp;#039;               =&amp;gt; -3.0,
     #&amp;#039;noreply@freshmeat.net&amp;#039;                  =&amp;gt; -3.0,
     #&amp;#039;owner-technews@postel.acm.org&amp;#039;          =&amp;gt; -3.0,
     #&amp;#039;ietf-123-owner@loki.ietf.org&amp;#039;           =&amp;gt; -3.0,
     #&amp;#039;cvs-commits-list-admin@gnome.org&amp;#039;       =&amp;gt; -3.0,
     #&amp;#039;rt-users-admin@lists.fsck.com&amp;#039;          =&amp;gt; -3.0,
     #&amp;#039;clp-request@comp.nus.edu.sg&amp;#039;            =&amp;gt; -3.0,
     #&amp;#039;surveys-errors@lists.nua.ie&amp;#039;            =&amp;gt; -3.0,
     #&amp;#039;emailnews@genomeweb.com&amp;#039;                =&amp;gt; -5.0,
     #&amp;#039;yahoo-dev-null@yahoo-inc.com&amp;#039;           =&amp;gt; -3.0,
     #&amp;#039;returns.groups.yahoo.com&amp;#039;               =&amp;gt; -3.0,
     #&amp;#039;clusternews@linuxnetworx.com&amp;#039;           =&amp;gt; -3.0,
     #lc(&amp;#039;lvs-users-admin@LinuxVirtualServer.org&amp;#039;)    =&amp;gt; -3.0,
     #lc(&amp;#039;owner-textbreakingnews@CNNIMAIL12.CNN.COM&amp;#039;) =&amp;gt; -5.0,
     # soft-blacklisting (positive score)
     #&amp;#039;sender@example.net&amp;#039;                     =&amp;gt;  3.0,
     #&amp;#039;.example.net&amp;#039;                           =&amp;gt;  1.0,
   },
  ],  # end of site-wide tables
});
1;  # ensure a defined return&lt;/pre&gt;

&lt;p&gt;
&lt;strong&gt;21-ubuntu_defaults&lt;/strong&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;use strict;

#
# These are Ubuntu specific defaults for amavisd-new configuration
#
# DOMAIN KEYS IDENTIFIED MAIL (DKIM)
$enable_dkim_verification = 1;
# Don&amp;#039;t be verbose about sending mail:
@whitelist_sender_acl = qw( .$mydomain );
$final_virus_destiny      = D_DISCARD; # (defaults to D_BOUNCE)
$final_banned_destiny     = D_DISCARD;  # (defaults to D_BOUNCE)
$final_spam_destiny       = D_DISCARD;  # (defaults to D_REJECT)
$final_bad_header_destiny = D_PASS;  # (defaults to D_PASS), D_BOUNCE suggested
#$bad_header_quarantine_to = undef # use this for not quarantine mails with bad_header

$virus_admin = undef;
$spam_admin = undef;

#------------ Do not modify anything below this line -------------
1;  # insure a defined return&lt;/pre&gt;

&lt;p&gt;
Ну и все остальное по желанию
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Amavis&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;amavis&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;3081-11231&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;dualdelivery_-_dvojnaja_dostavka&quot;&gt;Dualdelivery - двойная доставка&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Для некоторых целей требуется чтобы входящая почта пересылалась на несколько серверов: основной и резервный.
&lt;/p&gt;

&lt;p&gt;
Для этого был найдена интересная статейка: &lt;a href=&quot;http://pjrlost.blogspot.ru/2012/11/smtp-delivery-to-two-mail-servers-via.html&quot; class=&quot;urlextern&quot; title=&quot;http://pjrlost.blogspot.ru/2012/11/smtp-delivery-to-two-mail-servers-via.html&quot; rel=&quot;ugc nofollow&quot;&gt;http://pjrlost.blogspot.ru/2012/11/smtp-delivery-to-two-mail-servers-via.html&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Осталось только немного заменить настройку чтобы почта шла таким путем: Internet → Postfix → Amavis(Antivirus → AntiSpam) → Postfix → Dualdelivery → Мои почтовые сервера
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Устаналиваем msmtp &lt;pre class=&quot;code&quot;&gt;# apt-get install msmtp&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Создаем пользователя smtpdd, создаем папки и даем на них права этому пользователю&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; /opt/smtpdd&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; /var/spool/smtpdd&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; /var/tmp/smtpdd&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Скачиваем файл &lt;a href=&quot;https://dl.dropbox.com/u/49959760/smtpdd.tar.gz&quot; class=&quot;urlextern&quot; title=&quot;https://dl.dropbox.com/u/49959760/smtpdd.tar.gz&quot; rel=&quot;ugc nofollow&quot;&gt;https://dl.dropbox.com/u/49959760/smtpdd.tar.gz&lt;/a&gt; и разворачиваем содержимое в /opt/smtpdd&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Создаем задание cron &lt;pre class=&quot;code&quot;&gt;# crontab -e -u smtpdd&lt;/pre&gt;

&lt;p&gt;
 со следующим содержимым: 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;0 * * * * /opt/smtpdd/smtpdd.sh  /var/spool/smtpdd/ qrun &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Добавляем в /etc/postfix/main.cf строчки &lt;pre class=&quot;code&quot;&gt;relay_domains = domain.whatever
transport_maps = hash:/etc/postfix/domain.whatever.transport&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Создаем файл /etc/postfix/domain.whatever.transport и прописываем в него адрес нашего основного почтового сервера &lt;pre class=&quot;code&quot;&gt; domain.whatever smtp:[192.168.1.1] &lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Даем команду &lt;pre class=&quot;code&quot;&gt;# postmap /etc/postfix/domain.whatever.transport&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Изменяем postfix/master.cf следующим образом: &lt;pre class=&quot;code&quot;&gt;#
# ==========================================================================
smtp      inet  n       -       -       -       -       smtpd
## Отправляем письмо в Amavis
        -o content_filter=amavis:[127.0.0.1]:10024
        -o receive_override_options=no_address_mappings

## Dualdelivery - пересылаем письмо на основной и резервный почтовые сервера
dualdelivery    unix    - n n - 5 pipe
        user=smtpdd argv=/opt/smtpdd/smtpdd.sh /var/spool/smtpdd/ ${sender} ${recipient}
# Options:
#  q - deliver and queue if fail
#  d - deliver and delete if fail
#  o - deliver and only queue the mail
        192.168.102.10:25:q 192.168.102.234:25:d

# Amavis
amavis     unix    -       -       n       -       2       lmtp
        -o disable_dns_lookups=yes
        -o lmtp_send_xforward_command=yes
        -o smtp_data_done_timeout=1200
        -o max_use=20

## Получаем письма с Amavis и обрабатываем дальше
127.0.0.1:10025 inet    n       -       n       -       2       smtpd
        -o content_filter=dualdelivery
        -o local_recipient_maps=
        -o relay_recipient_maps=
        -o smtpd_restriction_classes=
        -o smtpd_delay_reject=no
        -o smtpd_client_restrictions=permit_mynetworks,reject
        -o smtpd_helo_restrictions=
        -o smtpd_sender_restrictions=
        -o smtpd_recipient_restrictions=permit_mynetworks,reject
        -o smtpd_data_restrictions=reject_unauth_pipelining
        -o smtpd_end_of_data_restrictions=
        -o mynetworks=127.0.0.0/8
        -o smtpd_error_sleep_time=0
        -o smtpd_soft_error_limit=1001
        -o smtpd_hard_error_limit=1000
        -o smtpd_client_connection_count_limit=0
        -o smtpd_client_connection_rate_limit=0
        -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Dualdelivery - \u0434\u0432\u043e\u0439\u043d\u0430\u044f \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;dualdelivery_-_dvojnaja_dostavka&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:9,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;11232-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 09 May 2017 15:34:00 +0000</pubDate>
        </item>
        <item>
            <title>Postfix в качестве почтового шлюза</title>
            <link>https://wiki.rtzra.ru/software/postfix/setup-mail-gate</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;postfix_v_kachestve_pochtovogo_shljuza&quot;&gt;Postfix в качестве почтового шлюза&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Функции шлюза:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Снаружи - недружелюбные интернеты, спам, вирусы и прочая. Внутри - белый и пушистый MS Exchange, который надо защищать и оберегать.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Веб-интерфес для руления MTA и серыми списками для управления из-за пределов внутренней сети.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Рубить спам и вирусы на корню.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Перед получением писем проверять существуют ли адреса получателей на сервере Exchange.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Список ПО для реализации шлюза:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Postfix - в роли MTA &lt;a href=&quot;http://www.postfix.org/&quot; class=&quot;urlextern&quot; title=&quot;http://www.postfix.org/&quot; rel=&quot;ugc nofollow&quot;&gt;http://www.postfix.org/&lt;/a&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Postfix Admin - веб-интерфейс для руления &lt;a href=&quot;http://sourceforge.net/projects/postfixadmin/&quot; class=&quot;urlextern&quot; title=&quot;http://sourceforge.net/projects/postfixadmin/&quot; rel=&quot;ugc nofollow&quot;&gt;http://sourceforge.net/projects/postfixadmin/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; SPF - будем биться со спамом&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Greylisting - еще один из этапов битвы против спама, выбор на любой вкус:&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; SQLgrey - реализация грейлистинга &lt;a href=&quot;http://sqlgrey.sourceforge.net/&quot; class=&quot;urlextern&quot; title=&quot;http://sqlgrey.sourceforge.net/&quot; rel=&quot;ugc nofollow&quot;&gt;http://sqlgrey.sourceforge.net/&lt;/a&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; sgwi - интерфейс для SQLgrey &lt;a href=&quot;http://www.vanheusden.com/sgwi/&quot; class=&quot;urlextern&quot; title=&quot;http://www.vanheusden.com/sgwi/&quot; rel=&quot;ugc nofollow&quot;&gt;http://www.vanheusden.com/sgwi/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; GLD - еще один грейлистинг, требуется MySQL &lt;a href=&quot;http://www.gasmi.net/progs.php&quot; class=&quot;urlextern&quot; title=&quot;http://www.gasmi.net/progs.php&quot; rel=&quot;ugc nofollow&quot;&gt;http://www.gasmi.net/progs.php&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Postgrey - неплохая штучка, работает с Berkley DB&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Фильтрация спама, выбор есть:&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; DSPAM &lt;a href=&quot;http://www.nuclearelephant.com/&quot; class=&quot;urlextern&quot; title=&quot;http://www.nuclearelephant.com/&quot; rel=&quot;ugc nofollow&quot;&gt;http://www.nuclearelephant.com/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Rspamd &lt;a href=&quot;http://rspamd.org/&quot; class=&quot;urlextern&quot; title=&quot;http://rspamd.org/&quot; rel=&quot;ugc nofollow&quot;&gt;http://rspamd.org/&lt;/a&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; Rmilter - для интеграции с Postfix &lt;a href=&quot;https://bitbucket.org/vstakhov/rmilter&quot; class=&quot;urlextern&quot; title=&quot;https://bitbucket.org/vstakhov/rmilter&quot; rel=&quot;ugc nofollow&quot;&gt;https://bitbucket.org/vstakhov/rmilter&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ClamAV - антивирус &lt;a href=&quot;http://http://www.clamav.net/&quot; class=&quot;urlextern&quot; title=&quot;http://http://www.clamav.net/&quot; rel=&quot;ugc nofollow&quot;&gt;http://http://www.clamav.net/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Amavis - связка для систем фильтрации спама (DSPAM, SpamAssassin) и антивирусов (ClamAV и т.д.)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Дополнительное ПО:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Apache&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; MySQL&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; PHP&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Операционка: Ubuntu 10.04.3 LTS x64
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Postfix \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u043e\u0447\u0442\u043e\u0432\u043e\u0433\u043e \u0448\u043b\u044e\u0437\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;postfix_v_kachestve_pochtovogo_shljuza&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-2040&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;ustanovka&quot;&gt;Установка&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ustanovka&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;2041-2072&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;mysql&quot;&gt;MySQL&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;$ sudo apt-get install mysql-client mysql-server&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;MySQL&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;mysql&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;2073-2153&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;php&quot;&gt;PHP&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;$ sudo apt-get install php5 php5-gd php5-imagick php5-mysql php5-suhosin&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;PHP&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;php&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;2154-2257&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;apache&quot;&gt;Apache&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;$ sudo apt-get install apache2&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Apache&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;apache&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;2258-2322&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;postfix&quot;&gt;Postfix&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;$ sudo apt-get install postfix postfix-mysql postfix-ldap&lt;/pre&gt;

&lt;p&gt;
postfix-ldap нужен только если планируется проверять существование почтового ящика в LDAP нашего домена.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Postfix&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;postfix&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2323-2595&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;clamav&quot;&gt;ClamAV&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;$ sudo apt-add-repository ppa:ubuntu-clamav/ppa
$ sudo apt-get update
$ sudo apt-get install clamav-base clamav-daemon clamav-freshclam libclamav6 libclamunrar6&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;ClamAV&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;clamav&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;2596-2789&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;gld&quot;&gt;GLD&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;$ sudo apt-get install postfix-gld &lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;GLD&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;gld&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;2790-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 09 May 2017 15:34:00 +0000</pubDate>
        </item>
        <item>
            <title>Настройка SPF</title>
            <link>https://wiki.rtzra.ru/software/postfix/spf</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;nastrojka_spf&quot;&gt;Настройка SPF&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Запись TXT в &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;v=spf1 +mx -all&lt;/pre&gt;

&lt;p&gt;
для домена скажет всем клиентам, поддерживающим проверку SPF, что письма из вашего домена могут приходить исключительно с серверов, указанных в MX записях. Можно сделать правило мягче, написав вместо -all ~all.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 SPF&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nastrojka_spf&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-468&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;ssylki&quot;&gt;Ссылки&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Основной источник информации - &lt;a href=&quot;http://www.openspf.org/&quot; class=&quot;urlextern&quot; title=&quot;http://www.openspf.org/&quot; rel=&quot;ugc nofollow&quot;&gt;http://www.openspf.org/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Онлайн-генератор - &lt;a href=&quot;http://old.openspf.org/wizard.html?mydomain=domain.ru&quot; class=&quot;urlextern&quot; title=&quot;http://old.openspf.org/wizard.html?mydomain=domain.ru&quot; rel=&quot;ugc nofollow&quot;&gt;http://old.openspf.org/wizard.html?mydomain=domain.ru&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u0441\u044b\u043b\u043a\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ssylki&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;469-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 09 May 2017 15:34:00 +0000</pubDate>
        </item>
        <item>
            <title>Кирпичики для почтового сервера</title>
            <link>https://wiki.rtzra.ru/software/postfix/utils-for-mailserver</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;kirpichiki_dlja_pochtovogo_servera&quot;&gt;Кирпичики для почтового сервера&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Технические подробности
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Postfix — почтовый сервер (MTA)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; GLD - greylisting, оно же «серые списки». Требует MySQL&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Dovecot — POP3- и IMAP-сервер&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Amavis - связка для DSPAM + ClamAV&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; DSPAM — обучаемый спам-фильтр&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ClamAV — антивирус&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Roundcube — веб-интерфейс&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Sieve — язык описания правил фильтрации сообщений.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/pochtovyj_server?do=showtag&amp;amp;tag=%D0%BF%D0%BE%D1%87%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80&quot; class=&quot;wikilink1&quot; title=&quot;tag:pochtovyj_server&quot; rel=&quot;tag&quot;&gt;почтовый сервер&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/pochtar?do=showtag&amp;amp;tag=%D0%BF%D0%BE%D1%87%D1%82%D0%B0%D1%80%D1%8C&quot; class=&quot;wikilink1&quot; title=&quot;tag:pochtar&quot; rel=&quot;tag&quot;&gt;почтарь&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/kirpichiki?do=showtag&amp;amp;tag=%D0%BA%D0%B8%D1%80%D0%BF%D0%B8%D1%87%D0%B8%D0%BA%D0%B8&quot; class=&quot;wikilink1&quot; title=&quot;tag:kirpichiki&quot; rel=&quot;tag&quot;&gt;кирпичики&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/postfix?do=showtag&amp;amp;tag=postfix&quot; class=&quot;wikilink1&quot; title=&quot;tag:postfix&quot; rel=&quot;tag&quot;&gt;postfix&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/dovecot?do=showtag&amp;amp;tag=dovecot&quot; class=&quot;wikilink1&quot; title=&quot;tag:dovecot&quot; rel=&quot;tag&quot;&gt;dovecot&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/dspam?do=showtag&amp;amp;tag=dspam&quot; class=&quot;wikilink1&quot; title=&quot;tag:dspam&quot; rel=&quot;tag&quot;&gt;dspam&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/clamav?do=showtag&amp;amp;tag=clamav&quot; class=&quot;wikilink1&quot; title=&quot;tag:clamav&quot; rel=&quot;tag&quot;&gt;clamav&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/rouncube?do=showtag&amp;amp;tag=rouncube&quot; class=&quot;wikilink1&quot; title=&quot;tag:rouncube&quot; rel=&quot;tag&quot;&gt;rouncube&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/sieve?do=showtag&amp;amp;tag=sieve&quot; class=&quot;wikilink1&quot; title=&quot;tag:sieve&quot; rel=&quot;tag&quot;&gt;sieve&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/gld?do=showtag&amp;amp;tag=gld&quot; class=&quot;wikilink1&quot; title=&quot;tag:gld&quot; rel=&quot;tag&quot;&gt;gld&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/greylisting?do=showtag&amp;amp;tag=greylisting&quot; class=&quot;wikilink1&quot; title=&quot;tag:greylisting&quot; rel=&quot;tag&quot;&gt;greylisting&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/amavis?do=showtag&amp;amp;tag=amavis&quot; class=&quot;wikilink1&quot; title=&quot;tag:amavis&quot; rel=&quot;tag&quot;&gt;amavis&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/clamav?do=showtag&amp;amp;tag=clamav&quot; class=&quot;wikilink1&quot; title=&quot;tag:clamav&quot; rel=&quot;tag&quot;&gt;clamav&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 09 May 2017 15:34:00 +0000</pubDate>
        </item>
        <item>
            <title>Утилиты</title>
            <link>https://wiki.rtzra.ru/software/postfix/utils</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;utility&quot;&gt;Утилиты&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0442\u0438\u043b\u0438\u0442\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;utility&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-30&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;mailq&quot;&gt;mailq&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
программа, позволяющая смотреть список писем, находящихся в почтовых очередях. На самом деле эта программа является всего лишь интерфейсом к демону showq, который вызывается через команду sendmail -bp.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;mailq&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;mailq&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;31-403&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;postsuper&quot;&gt;postsuper&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
предназначена для обслуживания почтовых очередей. Одним из применений является удаление какого-либо сообщения или повторная установка его в очередь на доставку. В то же время не стоит забывать об утилите postqueue, которая также создана для управления очередями. Единственное различие в них это то, что для работы c postsuper требуются права root, а для postqueue таких широких полномочий не нужно, хотя за счет этого теряется часть функционала.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;postsuper&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;postsuper&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;404-1210&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;postalias&quot;&gt;postalias&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
используется для создания баз псевдонимов или выполнения запросов к этим базам. Для совместимости с sendmail существует команда newaliases, делающая то же самое, что и postalias.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;postalias&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;postalias&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1211-1533&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;postconf&quot;&gt;postconf&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
показывает состояние конфигурационных переменных Postfix.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;postconf&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;postconf&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1534-1656&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;postlog&quot;&gt;postlog&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
команда, которую можно использовать для записи данных в протоколы работы Postfix. Полезна для использования в своих собственных скриптах.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;postlog&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;postlog&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;1657-1923&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;postcat&quot;&gt;postcat&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
данная утилита, позволяющая посмотреть содержимое файла почтовой очереди.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;postcat&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;postcat&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;1924-2080&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;postmap&quot;&gt;postmap&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
используется для выполнения запросов к вспомогательным таблицам или для создания таких таблиц из текстовых файлов. Перевод данных из текстовой формы в табличную довольно сильно ускоряет процедуру выполнения запросов.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;postmap&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;postmap&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;2081-2503&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;postlock&quot;&gt;postlock&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
позволяет работать с блокировками, установленными Postfix на файлы. Обычно применяется для написания скриптов.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;postlock&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;postlock&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;2504-2722&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;postkick&quot;&gt;postkick&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
предназначена для отправки сигналов по каналам межпроцессового обмена внутри Postfix. Удобна для организации взаимодействия между внутренними процессами Postfix и самописными скриптами.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;postkick&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;postkick&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;2723-3077&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;spawn&quot;&gt;spawn&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
демон, позволяющий подключить внешнюю систему фильтрации содержимого сообщений. На данный момент находится в стадии активной разработки, и хотя работает достаточно надежно, но в силу особенностей реализации создает слишком большую нагрузку на систему. Скорее всего в следующих версиях Postfix будет заменен на что-то лучшее.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;spawn&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;spawn&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;3078-3687&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit12&quot; id=&quot;proxymap&quot;&gt;proxymap&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
сервис, позволяющий централизованно выполнять запросы ко всем служебным таблицам вместо того, чтобы каждый из процессов выполнял их самостоятельно. Еще одним применением может быть предоставление Postfix доступа к файлам, находящимся за рамками ограничений, накладываемых chroot. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;proxymap&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;proxymap&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;3688-4215&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit13&quot; id=&quot;prakticheskoe_primenenie&quot;&gt;Практическое применение&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Посмотреть активные настройки Postfix:
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;postconf &lt;span class=&quot;re5&quot;&gt;-d&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
Посмотреть сколько сообщений в очереди:
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;mailq &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;grep&lt;/span&gt; Requests&lt;/pre&gt;

&lt;p&gt;
Посмотреть конкретно что в очереди:
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;mailq&lt;/pre&gt;

&lt;p&gt;
Пнуть очередь на немедленную доставку:
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;postsuper &lt;span class=&quot;re5&quot;&gt;-r&lt;/span&gt; ALL; postfix flush&lt;/pre&gt;

&lt;p&gt;
Пнуть конкретное письмо по ID:
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;postsuper &lt;span class=&quot;re5&quot;&gt;-r&lt;/span&gt; ID&lt;/pre&gt;

&lt;p&gt;
Удалить письмо по ID:
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;postsuper &lt;span class=&quot;re5&quot;&gt;-d&lt;/span&gt; ID&lt;/pre&gt;

&lt;p&gt;
Удалить ВСЕ письма в очереди:
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;postsuper &lt;span class=&quot;re5&quot;&gt;-d&lt;/span&gt; ALL&lt;/pre&gt;

&lt;p&gt;
Удаление группы писем от определенного FROM (на примере MAILER-DAEMON)
&lt;/p&gt;

&lt;p&gt;
Linux:
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;mailq &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;grep&lt;/span&gt; MAILER-DAEMON &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;awk&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;{print $1}&#039;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; postsuper &lt;span class=&quot;re5&quot;&gt;-d&lt;/span&gt; -&lt;/pre&gt;

&lt;p&gt;
Удаление писем от конкретного отправителя, который сделал рассылку не глядя:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mailq | grep galina@mydomain.ru | tail -n +2 | awk  &amp;#039;{  print $1 }&amp;#039; | tr -d &amp;#039;*!&amp;#039; | postsuper -d -&lt;/pre&gt;

&lt;p&gt;
Взято тут: &lt;a href=&quot;http://openwiki.ru/wiki/Postfix#.D0.A3.D1.82.D0.B8.D0.BB.D0.B8.D1.82.D1.8B&quot; class=&quot;urlextern&quot; title=&quot;http://openwiki.ru/wiki/Postfix#.D0.A3.D1.82.D0.B8.D0.BB.D0.B8.D1.82.D1.8B&quot; rel=&quot;ugc nofollow&quot;&gt;http://openwiki.ru/wiki/Postfix#.D0.A3.D1.82.D0.B8.D0.BB.D0.B8.D1.82.D1.8B&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;prakticheskoe_primenenie&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;4216-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 06 May 2019 11:39:09 +0000</pubDate>
        </item>
    </channel>
</rss>
