Задача. Отказ надо признать окончательным или временным до того, как на него что-то среагирует. Когда категорию MTA переводят в свою уже после приёма записи, классификаторов два подряд, и ломается как раз перевод.
Из чего складывается:
Области у составляющих разные. Безымянный блок образцов проверяется раньше поставляемых образцов, именованный, подключённый к получателю, — раньше обоих. Списки подавления подключаются к источнику или к адресу отправки (suppression-lists).
Как они взаимодействуют. Цепочка — классификация, решение, подавление. Перенос классификации на узел даёт в записи категорию, уже сказанную своими словами, и правило подавления читает поле напрямую. Оговорка — долговечность: категория ставится в момент записи, и смена образцов прошлое не перекрашивает, поэтому текст ответа стоит хранить рядом с категорией.
Три шага и где каждый живёт:
| Шаг | Чем | Что остаётся |
|---|---|---|
| классификация | bounce-category-patterns | bounceCat своим именем |
| реакция очереди | <smtp-pattern-list> | переход в щадящий режим |
| подавление | /config/address-lists | адрес в списке без правки файлов |
<bounce-category-patterns> rcpt-to /invalid recipient/ bad-mailbox /mailbox +(is +)?full/ quota-issues </bounce-category-patterns>
grep -rn -A6 '<bounce-category-patterns' /etc/pmta/