bounce-upon-5xx-greeting

<domain>Хаб задаёт сам

Отбивать ли сразу всю почту получателя при ответе 5xx на приветствии
в конфигурации это строкаbounce-upon-5xx-greeting trueвнутри блока <domain>
Что считать ответом «уходите навсегда» ещё до первой команды

Приёмник отвечает кодом 5xx в самой первой строке — приветствии, ещё до того, как узел назвал отправителя и получателя. Формально это однозначный отказ: почтовые правила предписывают считать такой ответ окончательным и отбивать почту. Вендорское умолчание true так и делает — и отбивает сразу всю очередь этого получателя.

Руководство здесь необычно откровенно: оно называет это поведение предписанным правилами и тут же говорит, что в сети полно неверно настроенных серверов, из-за которых почта теряется без нужды.

При false ответ считается временным: узел пробует другие серверы из списка MX и продолжает повторять попытки до срока bounce-after. Это медленнее, но не теряет почту из-за одного сбойного сервера.

Главная ловушка. Отбивается не письмо, а вся очередь получателя разом. Один сервер из списка MX ушёл в аварию и здоровается кодом 5xx — и весь накопленный объём в этот домен превращается в отказы за одну попытку. Отменить это нельзя: отказы уже отправлены, письма из очереди удалены.
Что делает Хаб. В шаблоне политик приёмников true стоит во всех пятнадцати блоках: у четырнадцати известных почтовиков и в общем <domain *>. Для известных это оправдано — у них 5xx на приветствии действительно означает отказ, а не поломку; общий блок распространяет то же решение на произвольные домены.
Рекомендуемые значения

Известным почтовикам — оставить true. Их серверы настроены верно, и отказ на приветствии у них осмысленный: чаще всего адрес отправителя попал в чёрный список приёмника.

Незнакомым доменам — false. Цена ошибки несимметрична: при false вы теряете время, при true — всю очередь получателя.

Разбирайте текст ответа. Сам код 5xx не говорит, за что вас отвергли. Настройте smtp-pattern-list, чтобы отличать блокировку адреса от аварии приёмника — иначе решение принимается вслепую.

Разделение по знакомству с приёмником — наше. Из руководства здесь умолчание true, признание, что оно теряет почту на неверно настроенных серверах, и поведение при false: попытки к другим серверам MX до истечения срока.
Пример в конфигурации
# известный почтовик: 5xx на приветствии — это блокировка, а не сбой
<domain gmail.com>
    bounce-upon-5xx-greeting true</domain>

# незнакомые домены: не жжём очередь из-за одного сбойного сервера
<domain *>
    bounce-upon-5xx-greeting false    bounce-after 3d
</domain>
Во втором блоке срок отказа задан рядом намеренно: при false именно он решает, сколько узел будет пробовать, прежде чем сдаться.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

Типичные ошибки и проблемы

что делают не так и чем это кончается2 ошибки▶

Оставляют умолчание для незнакомых доменов

§ 3.3.10.70

Чем чреватоОдин неверно настроенный сервер в списке MX отбивает всю очередь получателя. Руководство прямо признаёт этот случай, а умолчание всё равно true.
Как заметитьМассовые отказы по одному домену в течение одной минуты, а через час туда же спокойно уходит почта.
Как правильноВ блоке со звёздочкой поставить false, оставив true известным почтовикам.

Принимают решение, не читая текст ответа

наш опыт

Чем чревато5xx на приветствии выдают и приёмник, заблокировавший адрес, и сервер, у которого кончилось место на диске. Одно значение на оба случая всегда неверно для одного из них.
Как заметитьОтказы с текстом про временную неполадку приёмника учитываются как окончательные.
Как правильноРазобрать ответы приёмников через smtp-pattern-list и решать по тексту, а не только по коду.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
bounce-upon-5xx-greeting <boolean>
Значения
yes или no; true и false принимаются наравне с ними
Умолчание
true § 3.3.10.70
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<domain>
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Значение сливается по блокам <domain> от общего к частному: побеждает наиболее подходящий блок, а не последний по файлу. Подхватывается по pmta reload; на уже лежащие письма действует со следующей попытки — включение отбивает очередь не в момент правки, а при первом же приветствии с кодом 5xx.
Как проверить на узле
Значение печатает команда настроек очереди; сам ответ приёмника виден в журнале, если включено протоколирование соединений:
pmta show settings gmail.com/vmta1 | grep -i bounce-upon-5xx-greeting
grep -i '220\|5[0-9][0-9] ' /var/log/pmta/pmta.log | tail -20
Одномоментный всплеск отказов по одному получателю почти всегда означает сработавшую строку. Хаб такие всплески в телеметрии показывает, но с этой причиной пока не связывает.
В Хабе
Значение
Хаб подбирает сам — темп, стадия прогрева, метрики
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Классификация отказов · Настроить темп под провайдера