Как оценить ограничение исходящих SMTP-соединений для Postfix
У меня есть экземпляр postfix, работающий на виртуальной машине. Поставщик VM отключает нас, если мы превышаем порог SMTP-соединений в минуту - что-то вроде 10. В обычный день мы можем отправлять 1000 сообщений, поэтому 10 - это нормально. Однако это почтовый сервер, поэтому пиковая скорость часто превышает 10. Порт 25 на некоторое время блокируется. Это создает отставание. При повторных попытках в невыполненном журнале создаются "всплески" соединений, намного превышающие 10. Конечный результат: если мы заблокированы, мы останемся заблокированными, пока кто-нибудь не вмешается вручную.
"Очевидное" исправление, по-видимому, заключается в том, чтобы гарантировать, что postfix остается в пределах лимита - т.е. регулирование исходящего соединения. Или, по крайней мере, ограничить число запущенных процессов доставки SMTP до 1.
Есть ли способ сделать это?
2 ответа
Посмотрите на "policyd" для Postfix. Это должно быть в состоянии исправить вашу скорость ограничения. Тем не менее, 10 SMTP-соединений в минуту кажется глупо низким, и я бы бросил вызов провайдеру (600 в час может быть разумным)
Вы используете смарт-реле?
Там есть параметр для main.cf, называемый
default_destination_concurrency_limit = 10
Если вы используете интеллектуальное реле, это просто может сделать работу.
Другой вариант - установить это в master.cf:
smtp unix - - n - 10 smtp
Поскольку каждый процесс smtp доставляет одно электронное письмо, это ограничивает количество исходящих соединений максимум 10.