Power MTA — Режим backoff
Что такое backoff
Режим backoff отвечает за автоматическое изменения настроек очередей писем при получении ошибок в ответ на отправленное письмо.
Задачи решаемые режимом backoff
Автоматически остановить рассылку на Х период
1 — Одна из причин «глубокой» блокировки сервера — рассылка после предупреждения почтовой системой о потенциальном спаме. Публичные почтовые сервера уведомляют smtp ответами: 550 spam redjekt и т.п.
Если не остановить сервер во время получения первых ошибок 550 spam redjekt — доля вероятности полной блокировки «ip, domain» сильно возрастает.
— либо сервер уже определен как спам
— либо с сервера идет подозрительный трафик, или трафик распознанный как спам
Рекомендовано заморозить очередь при первом получении ошибки spam для публичных почтовых систем на Х период — которую может выполнить backoff.
2 — Сервер получателя имеет более жесткие политики фильтрации серверов отправителей, либо Ваша конфигурация не настроена должным образом. Что вызовет отказ от приема сообщения — режим backoff позволит Вам сохранить письма в очереди, заморозив ее. После исправления ошибки Вы сможете отправить письма повторно
Автоматически понизить скорость рассылки на Х период
3 — Слишком большая скорость отправки писем для молодого сервера — может так же быть причиной 550 spam либо давать иной отклик. В этом случае режимом можно автоматически понизить скорость отправки писем.
Автоматически временно заморозить рассылку на Х период с последующим возобновлением
4 — Grey list (грей листинг) в основе которого лежит временный отказ от приема сообщения почтовым сервером и подразумевает повторную доставку в тот же адрес повторно через некоторый интервал, к примеру yandex к не доверенным может выдавать временный отказ с формулировкой Sorry, the service is currently unavailable. Please come back later.
5 — сервер получателя временно не доступен или ящик переполнен — повторно отправить через Х часов. Так же если у Вас используется relay и он временно не доступен — позволит сохранить очередь до починки ретранслятора.
К чему можно применить режим backoff:
— К конкретной очереди рассылки (по получателю)
— К ip адресу (дополнительно можно почитать)
Как работает backoff
— в момент отправки писем сервер получателя отвечает PMTA кодами статусов доставки:
250 ….. OK: …… — принято
550 spam message rejected — отклонено по причине спам
451 4.7.1 Sorry, the service is ………… так отвечает грей листинг Yandex.ru
и т.п.
Ваш PMTA при получении кода ошибки — инициализирует режим backoff, и включает особые, заданные Вами настройки для очереди которая получила ошибку.
PMTA устанавливает (при должной настройке) для нашей очереди режим backoff, применяя к очереди установленные нами настройки для данного режима.
Если Вы не используете «mx свертки» rollup или обьеденения очередей queue-to — режим будет применяться для конкретной очереди обьедененной по домену получателю.
Это позволяет сохранить частоту доставки на другие доменные зоны получателей.
Возможности режима backoff:
— Перевод очереди в другую очередь (vmta)
— сбросить очередь в bounce
— перевести очередь в vmta с другими настройками (сменить домен sender или from, убрать DKIM, и т.п.)
— перевести очередь в vmta с ретрансляцией через другой сервер
— перевести очередь в vmta для удаления, сброса в bounce
— Остановить очередь на Х период с последующим возобновлением рассылки
— Остановить очередь и делать попытки отправки через Х интервал времени, после первой успешной доставки — возобновить отправку
— Понизить скорость рассылки на Х период
Как включить режим backoff
Для подключения режима backoff необходимо:
- Создать список шаблонов на основе отклика SMTP в <smtp-pattern-list NameList>
к примеру reply /550 spam message rejected/ mode=backoff, где reply — ответ сервера / 550… ошибка / mode= включить режим backoff (по умолчанию режим может быть отключен mode=normal) - Подключить список шаблонов для домена,ов на которые мы будем отправлять письма
Выборочно к примеру <domain mail.ru> — наш шаблон ошибок будет сопаставляться только с ответами mail.ru на наши письма
Для Всех получателей <domain *>
Подключать можно как глобально в файле конфигурации так и персонально для конкретного vmta (очереди)
Кол-во <smtp-pattern-list NameList> — не ограничено
Какие задачи решает режим backoff
Основные функции режима: заморозка очереди на Х время, перевод очереди (ретрансляция) в другую очередь, изменения дозировки очереди писем.
Режим перспективно применяется при проблемах:
— Грейлистинг (к Вашим письмам относятся с подозрением, временно отклонено)
— При rejected (к Вашим письмам относятся негативно, отклонено как спам)
Директивы backoff в PMTA
backoff-max-msg-rate
Область: domain
Тип: значение/время (1/h )
Атрибуты: необязательный
Значение по умолчанию: безлимитно
Директива ограничения скорости отправки писем.
В ограничение входит как успешные доставки писем, так и попытки доставки. Когда будет достигнут лимит, в веб-мониторе будет показана следующая ошибка:
“message rate limit reached (based on backoff-max-msg-rate in configuration)”
backoff-retry-after
Область: domain
Тип: временной интервал
Атрибуты: optional
Значение по умолчанию: 10 минут
Устанавливает интервал или интервалы между повторами попыток для домена/virtualMTA, когда они в режиме повтора попыток.
backoff-notify
Область: domain
Тип: e-mail адрес
Атрибуты: необязательный
Значение по умолчанию: «» (no notification sent)
Указывает электронные адреса, на которые будут приходить оповещения о том, что заданный
домен заходит в или выходит из режима отката. Несколько адресов можно указать в виде
списка, разделённого запятыми.
Пример: <domain *> backoff-notify two@host.domain,one@host.domain </domain>
backoff-to-normal-after
Область: domain
Тип: значение время (1h )
Атрибуты: необязательный
Значение по умолчанию: never
Временной интервал, по истечению которого, очередь автоматически возвращается в обычный режим.
Пример: <domain *> backoff-to-normal-after 6h </domain>
backoff-to-normal-after-delivery
Область: domain
Тип: логический
Атрибуты: необязательный
Значение по умолчанию: false (отключено)
Если активна, эта директива возвращает очередь отправки в нормальный режим после успешной доставки.
backoff-upon-all-sources-disabled
Область: domain
Тип: логический
Атрибуты: необязательный
Значение по умолчанию: false (отключено)
Если включено, переключает очередь в режим отката, когда исходные IP-адреса отключаются
либо через командную строку, либо использованием функции <smtp-pattern-list> “disable-source-ip».
!!! Рекомендуется использовать директиву «backoff-to-normal-after» в сочетании с этой директивой, так как PowerMTA не переводит очередь в нормальный режим автоматически при включении IP-адреса.
backoff-reroute-to-virtual-mta
Область: домен
Тип: VirtualMTA name
Атрибуты: необязательный
Значение по умолчанию: none
Указывает, что PMTA должен перенаправлять письма в выбранный VirtualMTA в случае вхождения очереди в режим отката. Например, если письма стоят в очереди для example.com/vmta1 и эта очередь входит в режим отката, а директива backoffreroute-to-virtual-mta имеет значение vmta2, все письма из этой очереди будут перенаправлены в очередь example.com/vmta2. Новые письма будут также перенаправляться, пока очередь не выйдет из режима отката.
Пример: <virtual-mta vmta1> <domain *> backoff-reroute-to-virtual-mta vmta2 </domain> </virtual-mta> <virtual-mta vmta2> ... </virtual-mta>
!!! Внимание: При обнаружении цикла, сообщения остаются в последней очереди цикла, а в лог будет записана ошибка.
Перенаправление с одного виртуального MTA на себя автоматически игнорируется, а перенаправление в пул VirtualMTA не поддерживается.
backoff-max-smtp-out
Область: домен
Тип: цифровое значение
Атрибуты: необязательный
Значение по умолчанию: 20
Указывает максимальное количество одновременных подключений для этого домена.
backoff-max-connect-rate
Область: domain
Тип: {unlimited|0|N/{h|hr|m|min|s|sec} «значение/время (1/h )»
Атрибуты: необязательный
Значение по умолчанию: безлимитно
Указывает максимальное количество подключений, открытых для этого домена в течении определённого периода времени в режиме отката.
Доступно для VIP пользователей
- Консольные команды управления режимами backoff
- Базовые списки шаблонов backoff
- Примеры для чего нужен режим
backoff при блокировке redjekt
backoff для грей листинга
backoff удаляем плохую очередь
1 м. 1 д. 1 ч. 0 мин. 390 P–
3 м. 1 д. 1 ч. 0 мин. 990 P–
6 м. 1 д. 1 ч. 0 мин. 1690 P–
12 м. 1 д. 1 ч. 0 мин. 2790 P–