Блок сопоставляет ответы приёмника с регулярными выражениями и по совпадению выполняет действие. Записи в нём одного вида — reply: выражение и действие рядом.
Это спусковой крючок для всего щадящего режима. Директивы с приставкой backoff- описывают, что случится, а совпадение здесь решает, когда. Без такого списка вся эта машинерия мертва (backoff-mode).
Действий несколько. Перевод очереди в щадящий режим и обратно (mode=backoff, mode=normal), отключение адреса источника (disable-source-ip), немедленный уход очереди в повторы (defer-queue, при желании со своим интервалом), пропуск записи MX и мгновенный отказ письму.
Отдельно про повторы. Руководство оговаривает: очередь, ушедшая в щадящий режим, не уходит автоматически в режим повторов. Если нужно и то и другое, второе действие пишется явно.
Под прокси отключение адреса ключуется по адресу клиента прокси, а не по адресу узла — тонкость первой части руководства, о которой легко забыть.
Блок почти не имеет директив — правила это синтаксис блока, а не именованные настройки. В указателе руководства ему отведена одна строка, хотя это самый отзывчивый механизм конфигурации.
А вот похожий по имени pattern-list Хаб пишет — в блоке подачи, строкой выбора адреса отправки по домену отправителя. Тот, кто ищет в нашей конфигурации реакцию на отказы и находит это имя, ошибётся.
🔴 Отсюда следствие: щадящий режим у нас настроен полностью (backoff-mode), но включиться сам не может — включателя нет. В режим очередь переводит либо команда, либо планировщик Хаба. Разница в скорости: MTA среагировал бы прямо в соединении, планировщик узнаёт из телеметрии секундами и минутами позже.
Своих значений у блока нет — есть действия, которые пишутся рядом с выражением:
| Действие | Что делает | Когда уместно |
|---|---|---|
| mode=backoff | переводит очередь в щадящий режим | отказ по репутации, «слишком много ошибок» |
| mode=normal | возвращает в обычный | ответ, означающий, что придержали временно |
| disable-source-ip | отключает адрес источника | отказ, названный по конкретному адресу |
| defer-queue | немедленно уводит в повторы | там, где ждать следующей попытки бессмысленно |
Выражения писать по словам приёмника, а не по кодам. Коды у крупных приёмников общие, а причина различается текстом: 421 too many errors и 421 try again later — разные события под одним кодом.
Начинать с малого. Одно-два выражения на самые частые отказы полезнее длинного списка: каждое правило — это автоматическое действие, и ошибка в нём тоже автоматическая.
# список образцов и ссылка на него из блока приёмника <smtp-pattern-list block-errors> reply /^421 .* too many errors/ mode=backoff reply /blocked.*spamhaus/ mode=backoff </smtp-pattern-list> <domain aol.com> smtp-pattern-list block-errors backoff-max-msg-rate 1/h </domain>
что делают не так и чем это кончается3 ошибки▶
§ 3.3.7.32
§ 3.3.15
§ 3.3.20
3 связи
Щадящий режим — вторая личность очередиЕдинственное, что переводит очередь в щадящий режим: без совпадения он не включается. § 3.3.10.53reenable-source-ip-after<domain>Через сколько вернуть адрес источника, отключённый действием из списка. § 3.3.10.56
include<smtp-pattern-list>Подключённые строки становятся правилами этого списка ответов приёмника. § 3.3.15.1Отказ на приветствииСобственный способ узла разбирать текст ответа — он мог бы действовать и на такие отказы. inferenceНаблюдение за репутацией внутри узлаСмежный механизм: они работают вместе. § 11.5.2Категория отказа в учёте — настраиваемая, а не вендорскаяСовпадение устроено так же; руководство отсылает туда за подробностями. § 11.7.1
grep -n -A6 '^<smtp-pattern-list' /etc/pmta/config pmta show queues
3 статьи
◇Щадящий режим — вторая личность очередиОчередь, которой приёмник начал отказывать, переключается на параллельный набор лимитов, повторов и маршрутов — десять директив, действующих только в этом режиме.◇Что узел рассказывает о себе и по каким каналамСемь поверхностей наблюдения: веб-монитор, консоль в четырёх форматах, журнал, учёт, поиск по учёту, метрики и выгрузка во внешнюю аналитику.◇Сторож, который перезапускает MTAПрисматривает за MTA и после падения поднимает его сам, отправляя отчёт о падении на адрес ответственного.