Обратный адрес, в который вписан получатель

VERP
Узнать получателя по адресу, а не по тексту отказа

Обычно обратный адрес у всей рассылки один, и когда приходит отказ, получателя приходится выяснять из его содержимого — разбирать текст, искать вложенное письмо, сопоставлять идентификаторы. Способ работает, но зависит от того, насколько аккуратно отказ составлен на чужой стороне.

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

Схема жёсткая: из отправителя jsmith@example.com и получателя jdoe@yahoo.com выходит jsmith-jdoe=yahoo.com@example.com — собака в адресе получателя заменяется на знак равенства, и всё это становится левой частью нового адреса.

Главная ловушка — обратный адрес перестаёт быть постоянным. Всё, что на него настроено, ломается: правила приёма по точному совпадению, списки в чужих системах, подпись домена обратного адреса. Домен остаётся прежним, а левая часть у каждого письма своя, и принимать такую почту нужно по домену целиком.
Что делает Хаб. Не задействует. Отказы приходят в Хаб записями учёта: синхронные пишет MTA, асинхронные разбирает его обработчик отказов, и получатель берётся из поля записи, а не из обратного адреса. VERP — альтернатива этому разбору, и переходить на него имеет смысл только вместе со всей цепочкой приёма отказов.
Пример в конфигурации
# включение для всех подающих
<source 0/0>
    verp-default true</source>

# или точечно, под одного получателя
<domain yahoo.com>
    verp-default yes</domain>
Две стороны одного механизма: в блоке подачи он включается для всего, что подано этим источником, в блоке получателя — для писем именно к нему.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Включают, не подготовив приём отказов

наш опыт

Чем чреватоОтказы начинают приходить на адреса, которых нет ни в одном списке. Приём по точному совпадению их не пропускает, и вся обратная связь теряется разом.
Как заметитьПосле включения поток отказов упал почти до нуля.
Как правильноНастроить приём по домену обратного адреса целиком, а не по конкретному имени ящика.

Считают, что схему можно выбрать

наш опыт

Чем чреватоФормат адреса задан жёстко и не настраивается. Обработчик, рассчитанный на другой вид кодирования, ничего в нём не разберёт.
Как заметитьОбработчик не извлекает получателя из обратного адреса.
Как правильноРазбирать по вендорской схеме: левая часть отправителя, дефис, адрес получателя со знаком равенства вместо собаки.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Как проверить на узле
Работает ли схема, видно по обратному адресу в отправленных письмах — он должен содержать адрес получателя:
pmta show settings yahoo.com/vmta1 | grep -i verp-default
grep -i 'MAIL FROM' /var/log/pmta/pmta.log | tail -10
В журнале обратный адрес виден целиком: при включённом VERP в нём стоит адрес получателя со знаком равенства вместо собаки. Хаб этот механизм не задействует.
В Хабе
Цена ошибки
безопасно: неверное значение ничего не ломает
Сценарии
Классификация отказов