POSTFIX: Ограничение исходящих подключений, количества сообщений, их совокупного размера в рамках временного окна.

Вопрос или проблема

Мы отправляем довольно большое количество электронных писем нашим клиентам каждый месяц с помощью Postfix. Большой процент из них имеют почту на @example.com. Но каждый месяц мы сталкиваемся с проблемами доставки всех сообщений из-за временной блокировки (greylisting).

Example.com предоставил нам конкретные настройки для каждого 5-минутного окна, чтобы избежать временной блокировки:

Максимальные суммарные лимиты на каждые 5 минут для домена example.com

  • 300 подключений
  • 100 000 сообщений
  • общий размер 180 МБ

Мы определенно не отправляем 100 тысяч сообщений, поэтому количество подключений за это 5-минутное окно кажется основной проблемой. Может ли кто-то помочь с конкретными настройками Postfix, чтобы соответствовать указанным выше критериям только для подключений к example.com?

Эти значения можно редактировать в файле main.cf Postfix –

initial_destination_concurrency параметр (по умолчанию: 2) контролирует, сколько сообщений первоначально отправляется на одно и то же направление перед адаптацией конкуренции доставки. Конечно, эта настройка эффективна только до тех пор, пока она не превышает лимит процесса и лимит конкуренции для конкретного канала передачи почты.

default_destination_concurrency_limit параметр (по умолчанию: 10) контролирует, сколько сообщений может быть отправлено на одно и то же направление одновременно. Вы можете изменить эту настройку для конкретных каналов доставки (локальный, smtp, uucp и т.д.). В файле main.cf рекомендуется следующее:

default_destination_concurrency_limit = 10

Лимит конкуренции в 10 для доставки SMTP, по-видимому, достаточен, чтобы заметно загрузить систему, не приводя ее к сбоям. Будьте осторожны, изменяя это на гораздо большее число.

Больше информации здесь –

Подсчет размера почты в Postfix

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

Ответ или решение

Конечно, давайте детально рассмотрим, как настроить Postfix для ограничения исходящих соединений, количества сообщений и их общего размера для домена example.com в рамках пятиминутного интервала. Это поможет минимизировать риски попадания в грейлист.

Шаг 1: Настройка количества соединений

Для начала нам необходимо ограничить количество соединений, что можно сделать с помощью Postfix параметра transport_destination_concurrency_limit. В файле main.cf добавьте или измените следующую строку, чтобы установить предел соединений для домена example.com:

transport_maps = hash:/etc/postfix/transport

Создайте файл /etc/postfix/transport, добавив в него:

example.com slow_delivery:

Затем создайте файл /etc/postfix/master.cf или измените его, добавив транспорт для example.com:

slow_delivery unix - - n - - smtp
  -o smtp_destination_concurrency_limit=60

Здесь smtp_destination_concurrency_limit=60 ограничивает количество соединений к домену example.com. Измените значение по необходимости, основываясь на вашей стратегии отправки.

Шаг 2: Ограничение количества сообщений

Для ограничения числа сообщений за пятиминутный интервал можно использовать планировщик задач для регулирования очереди отправки. Используйте скрипты, которые проверяют размер очереди и при необходимости ограничивают подачу новых сообщений в систему. Это скорее организационный момент, так как Postfix сам по себе не предоставляет прямых механизмов для динамического ограничения числа отправляемых сообщений за фиксированный временной интервал без серьезных изменений инфраструктуры.

Шаг 3: Ограничение по размеру

Чтобы контролировать общий размер отправляемых данных, вы можете использовать следующие параметры:

message_size_limit = <максимальный размер одного сообщения в байтах>

Убедитесь, что общий размер отправленных сообщений за 5 минут не превышает 180 MB, путем регулировки порогов за один период.

Заключение: Мониторинг и тестирование

Кроме того, важно постоянно мониторить поведение Postfix и получать отчеты об отправке, инкапсулированные в Greylist возвраты. Убедитесь, что политики, введенные вами, действительно работают и позволяют достичь значимых улучшений в доставке e-mail.

Используйте инструменты мониторинга, такие как Munin или Zabbix, для отслеживания числа соединений и количества отправленных сообщений, чтобы своевременно корректировать настройки.

Эти практические шаги помогут вам оптимизировать работу Postfix в соответствии с требованиями example.com и повысить надежность доставки ваших писем.

Оцените материал
Добавить комментарий

Капча загружается...