Отказы бывают двух пород. Синхронный приёмник называет прямо в разговоре, и он попадает в учёт сам, записью вида b. Асинхронный приходит письмом — через минуты или часы, — и без этого блока узнать о нём неоткуда.
Блок ловит письма по вложенному списку адресов и разбирает их. Что узнал — пишет записью вида rb; что делать с самими письмами, решают deliver-matched-email и deliver-unmatched-email.
🔴 Без него статистика отказов занижена. Крупные почтовики часто принимают письмо в разговоре и отказывают позже — то есть именно асинхронно. Доля жёстких отказов, посчитанная без записей rb, меньше настоящей, и решения о чистке базы принимаются по неполным данным.
Условие работы — приём этих писем вообще. Список адресов решает судьбу уже принятого письма; разрешает приём другая строка, relay-address. Без неё анти-релей отобьёт отчёт жёстким отказом ещё на подходе.
Вложить в блок можно <email-patterns> — набор образцов для приёмников, чьи отчёты MTA не понимает сам.
# приём разрешает одна строка, разбор — блок relay-address /^bounce@bounce\./ <bounce-processor> deliver-matched-email no deliver-unmatched-email no <address-list> address /^bounce@bounce\./ </address-list> </bounce-processor>
3 статьи
◇Кому разрешено сдавать почту и для кого её приниматьИз коробки узел принимает подачу только с самой машины; два разных вопроса — «кто может слать через нас» и «на чьи адреса мы принимаем» — решаются разными директивами.◇Два обработчика входящих отчётов и что с ними делатьОтказы письмом и жалобы разбираются двумя одинаково устроенными блоками; у каждого свой список адресов и своя пара решений о судьбе письма.◇Списки адресов — именованные и безымянныеСписок адресов, доменов, образцов или хешей; именованный подключается директивами вроде подавления, безымянный живёт внутри процессора входящей почты.