Назад | Перейти на главную страницу

Как установить ограничение на исходящие SMTP-соединения для Postfix

У меня есть экземпляр postfix, работающий на виртуальной машине. Поставщик виртуальных машин отключает нас, если мы превысим порог SMTP-подключений в минуту - что-то вроде 10. В обычный день мы можем отправить 1000 сообщений, так что 10 вполне нормально. Однако это почтовый сервер, поэтому пиковая скорость часто превышает 10. Порт 25 затем блокируется на некоторое время. Это создает отставание. Повторные попытки в бэклоге создают «всплески» соединений, намного превышающих 10. Конечным результатом является то, что как только мы заблокированы, мы остаемся заблокированными, пока кто-то не вмешается вручную.

«Очевидное» исправление, по-видимому, состоит в том, чтобы гарантировать, что постфикс остается в пределах лимита, т. Е. Регулирование исходящего соединения. Или, по крайней мере, ограничьте количество запущенных процессов доставки smtp до 1.

Есть ли способ сделать это?

Посмотрите на "policyd" для Postfix. Это должно помочь вам исправить ограничение по частоте вращения. Тем не менее, 10 SMTP-подключений в минуту кажутся глупо низкими, и я бы оспорил это провайдером (600 в час может быть разумным).

Вы используете интеллектуальное реле?

Для main.cf есть параметр, называемый

default_destination_concurrency_limit = 10

Если вы используете интеллектуальное реле, это может сработать.

Другой вариант - установить это в master.cf:

smtp      unix  -       -       n       -       10       smtp

Поскольку каждый процесс smtp доставляет одно электронное письмо, это ограничивает количество исходящих подключений до 10.