Приёмник ответил ошибкой в самом начале сессии, ещё до того, как речь зашла о письме. Обычно это временный отказ: занят, сейчас не принимает, не разрешает соединение.
Ценность в том, что он отказывает словами. В отличие от молчания и обрыва, здесь есть текст ответа — а значит есть с чем работать: по нему можно понять причину и по нему же можно настроить реакцию.
Это хрестоматийный повод сбавить темп. Приёмник прямо сказал, что ему сейчас тяжело; продолжать с прежней скоростью — верный способ получить уже не временный отказ.
И это тот отказ, на который проще всего настроить автоматику. Правило по образцу ответа переводит очередь в щадящий режим (smtp-pattern-list) — текст ответа для того и нужен.
⚠️ Движковая реакция у нас не подключена: правил по образцам ответа в конфигурации нет, значит очередь в щадящий режим сама не уйдёт (backoff-mode). Разница в скорости: MTA среагировал бы прямо в этом соединении, планировщик — минутами позже.
Текст ответа при этом до нас доходит: он попадает в учёт и виден в отказах очереди.
Что делать при таком отказе:
| Действие | Когда |
|---|---|
| сбавить темп к приёмнику | почти всегда — он об этом и просит |
| завести правило по образцу ответа | если отказы повторяются |
| разобрать текст ответа | всегда: в нём причина |
| увеличить число попыток | никогда — ответ был про частоту |
Читать текст, а не код. Один и тот же 421 у разных приёмников означает разное, и различает их именно текст.
Правило заводить по словам приёмника. Коды общие, слова конкретны — правило по коду поймает лишнее.
# текст ответа — то, ради чего этот отказ и ценен <smtp-pattern-list block-errors> reply /^421 .* too many errors/ mode=backoff</smtp-pattern-list>
2 связи
Три коротких истории по каждой очередиОдин из отказов, попадающих во второй буфер — ошибки очереди. § 5.8Приёмник разорвал соединениеСоседний отказ: там приёмник объясняется словами, здесь просто уходит. § 5.8Снять адрес отправки — и что станет с его очередьюВ отличие от отказа приёмника, этот отказ рождается на нашем узле и о получателе не говорит ничего. inference
3 статьи
◇Как складывается политика для приёмникаНастройки собираются от самого общего образца к самому точному; порядок блоков в файле не значит ничего.◇Щадящий режим — вторая личность очередиОчередь, которой приёмник начал отказывать, переключается на параллельный набор лимитов, повторов и маршрутов — десять директив, действующих только в этом режиме.◇Наблюдение за репутацией внутри узлаMTA сам следит за ответами приёмников и по совпадению с образцом меняет режим очереди — реакция внутри соединения, а не по телеметрии.