Обложка канала

ServerAdmin.ru

12437 @srv_admin

Авторская информация о системном администрировании.

ServerAdmin.ru

4 года назад
Открыть в
За что люблю почтовый сервер Postfix, так это за его гибкость в настройках. Если хорошенько поискать, всегда можно найти решение той или иной задачи с этим почтовым сервером. Я неизменно всегда устанавливаю почтовый сервер на базе Postfix. Если выбираете почтовый сервер, который будете собирать из компонентов и настраивать самостоятельно, то рекомендую в качестве основы взять Postfix. Вот несколько нестандартных примеров, которые приходилось реализовывать: - выбор релей сервера для пересылки сообщения в зависимости от адреса отправителя или домена (актуально для веб сервера, где много сайтов и каждый использует свой внешний сервер для отправки); - запрет отправки почты на внешние домены, разрешена только локальная отправка внутри собственных доменов; - автоматическое изменение темы письма или адреса отправителя для всей или выборочной почты; - автоматическое удаление определённых писем при достижении ими разрешённого времени хранения. Это то, что вспомнил, пока писал заметку. Недавно появилась задача, ограничить максимально возможное количество отправленных писем в течении некоторого промежутка времени, то есть запретить почтовому ящику отправлять более 50 писем в час. Живой человек в обычном рабочем режиме вряд ли сможет отправить больше. Начал искать решение и очень быстро нашёл - postfwd. Очень гибкое решение с возможностью писать свои правила для отправки. В Debian пакет есть в стандартном репозитории. Указанная задача решается очень просто: 1. Устанавливаем postfwd: # apt install postfwd 2. Включаем автозапуск в /etc/default/postfwd, рисуем простой конфиг с единственным правилом в /etc/postfix/postfwd.cf: id=R01; action=rcpt(sender/50/3600/REJECT sorry, max 50 emails per hour for sender $$sender exceeded) При желании можно добавить предупреждение при совершённых 30-ти отправках в час: id=R02; action=rate(sender/30/3600/WARN limit of 30 email per hour exceeded [$$ratecount hits]) Показал для примера, как выглядят правила. Большое количество примеров приведены в документации. По аналогии не трудно для себя писать правила. Возможности очень широкие. 3. Добавляем интеграцию в postfix через его механизм restrictions: smtpd_recipient_restrictions = check_policy_service inet:127.0.0.1:10040 permit_mynetworks permit_sasl_authenticated ........................................... 4. Запускаем postfwd, перечитываем конфиг postfix. Сайт - https://postfwd.org Исходники - https://github.com/postfwd/postfwd Cсылки на мои материалы по postfix: - Настройка postfix + dovecot + mysql база + postfixadmin + roundcube + dkim - Настройка SSL/TLS сертификатов Let's Encrypt в postfix и dovecot - Защита почтового сервера postfix + dovecot с помощью fail2ban - Перенос почтового сервера postfix - Очистка и обслуживание почтовой базы postfix - Мониторинг postfix в zabbix          #postfix #mailserver