forward-errors-to

<bounce-processor>

Куда пересылать письма, на которых разбор сорвался
в конфигурации это строкаforward-errors-toвнутри блока <bounce-processor>
То же имя ещё 1:<bounce-processor><feedback-loop-processor>— часть из них другие настройки, часть та же самая
Не «не узнал», а «не смог прочитать»

Строка задаёт адрес для писем, которые обработчик не смог разобрать. Строка повторяется: адресов может быть несколько.

Разница с соседней строкой тонкая и важная. forward-unmatched-to — про письма, которые разобраны, но не признаны отказом: обычная почта, попавшая на тот же адрес. Эта — про письма, на которых разбор сломался: битая структура, неожиданная кодировка, обрезанное тело.

Второе — это сигнал о неисправности, а не о постороннем письме. Регулярные срывы разбора означают, что какой-то приёмник шлёт отчёты в формате, которого MTA не ждёт, — и такие письма стоит смотреть глазами: возможно, для них нужен свой образец в <email-patterns>.

Умолчания нет: не задана — пересылки не происходит, и о срывах разбора вы не узнаете.

Главная ловушка — считать её тем же, что и пересылка непонятого. Обе пересылают, но по разным причинам, и смешивать их в один ящик — значит утопить редкий сигнал о неисправности в потоке обычной посторонней почты.
Что делает Хаб. Не пишет.

🔎 Строка была бы полезна: срыв разбора у bounce-processor означает, что какой-то приёмник шлёт нам отказы в формате, которого MTA не понимает, — а значит, часть данных до панели не доходит и мы об этом не знаем.

Рекомендуемые значения

Разводить по разным ящикам, а не в один:

Строка Что попадёт Как часто
forward-unmatched-to посторонняя почта на адрес обработчика постоянно
эта письма со сломанным разбором редко, и это сигнал
Повторяемость и назначение (письма, которые обработчик не смог разобрать) — из руководства (§ 3.3.3.5). Разделение двух пересылок по смыслу — наше.
Пример в конфигурации
# два ящика: посторонняя почта и сигнал о неисправности — врозь
<bounce-processor>
    deliver-unmatched-email true
    forward-unmatched-to inbox@example.com
    forward-errors-to postmaster@example.com</bounce-processor>
В верхний ящик течёт постоянно, в нижний — редко, и каждое письмо в нём стоит прочитать.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Сводят обе пересылки в один ящик

наш опыт

Чем чреватоПосторонняя почта идёт постоянно, срывы разбора — редко. В общем ящике редкий сигнал о неисправности тонет в потоке обычного.
Как заметитьЯщик пересылки полон, и разбирать его никто не берётся.
Как правильноРазвести по двум адресам: один читают выборочно, второй — всегда.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
forward-errors-to <email-address>
Значения
адрес электронной почты; строка повторяется
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<bounce-processor>
Сколько раз
можно повторять
Всё здесь — из руководства, с разделом.
Наследование
Наследования нет: строка живёт внутри своего <bounce-processor> и касается только его разбора. У соседнего обработчика своя такая же строка.
Как проверить на узле
Срывы разбора видны в журнале MTA:
grep -i "parse\|malformed" /var/log/pmta/log | tail -20
Регулярные записи означают, что какой-то приёмник шлёт отчёты в неожиданном формате. Такое письмо стоит посмотреть глазами и, если формат постоянный, описать образцом в <email-patterns>.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Приём входящей почты