dummy-smtp-has-verp

Global

Объявляет ли поддельный приёмник расширение VERP
в конфигурации это строкаdummy-smtp-has-verp falseвнутри блока Global
Когда прогон идёт с уникальными обратными адресами

Решает, объявляет ли поддельный приёмник поддержку VERP — механизма, при котором обратный адрес письма содержит адрес получателя. Умолчание — false.

Из трёх строк набора эта нужна реже прочих. Конвейер и передача кусками влияют на любой прогон; VERP — только на тот, где отправка идёт с включённым verp-default. Если обратный адрес у вас постоянный, объявлять расширение незачем.

Зато при включённом VERP она обязательна. Иначе подделка объявит себя приёмником, который механизма не понимает, и отправляющая сторона поведёт разговор иначе, чем повела бы с настоящим почтовиком.

Главная ловушка — расхождение с боевой конфигурацией. VERP включают в конфигурации отправки, а объявление — здесь, в другом разделе файла. Легко включить одно и забыть другое, и тогда прогон измеряет разговор, который в жизни не случится ни разу.
Что делает Хаб. Не пишет ни эту строку, ни сам VERP: отказы он связывает с получателем по полю получателя в записях учёта, а не по обратному адресу. Пока так — строка не нужна.
Рекомендуемые значения

Включайте, только если прогоняете почту с VERP. В остальных случаях умолчание правильно.

Сверяйте с конфигурацией отправки. Признак — заданный verp-default в блоке подачи или получателя.

Не включайте «для полноты». Объявленное, но не используемое расширение делает разговор не таким, каким он будет в жизни.

Правило сверять с конфигурацией отправки — наше. Из руководства здесь умолчание и назначение строки: поддерживают ли поддельные соединения это расширение.
Пример в конфигурации
# прогоняем почту с уникальными обратными адресами
dummy-smtp-port 2525
dummy-smtp-has-verp true
<source 0/0>
    verp-default true
</source>
Две настройки в разных разделах файла описывают один прогон: включив VERP на подаче и забыв объявление здесь, вы измеряете чужой сценарий.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Включают VERP на подаче и забывают объявление

наш опыт

Чем чреватоПодделка представляется приёмником без поддержки механизма, и разговор идёт не так, как пошёл бы с настоящим почтовиком. Прогон измеряет сценарий, которого не будет.
Как заметитьВ конфигурации verp-default включён, а объявления нет.
Как правильноДержать обе стороны в согласии — сверять одной командой.

Включают «для полноты», не пользуясь VERP

наш опыт

Чем чреватоПодделка объявляет расширение, которым отправка не пользуется. Разговор становится непохожим на боевой в другую сторону.
Как заметитьОбъявление включено, verp-default нигде не задан.
Как правильноВернуть умолчание: набор расширений подделки должен повторять то, что происходит на самом деле.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
dummy-smtp-has-verp <boolean>
Значения
yes или no; true и false принимаются наравне с ними
Умолчание
false § 3.3.1.57.6
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
Global
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Строка уровня узла: пишется в корне файла, не внутри блока. Наследования у неё нет. Подхватывается по pmta reload; на уже установленные соединения не влияет.
Как проверить на узле
Значение задаётся в конфигурации; объявляет ли подделка расширение — видно по её ответу на EHLO:
grep -n 'dummy-smtp-has-verp\|verp-default' /etc/pmta/config
printf 'EHLO test\r\nQUIT\r\n' | nc 127.0.0.1 2525
Первая команда показывает обе стороны сразу: если одна включена, а другая нет, прогон не соответствует боевой отправке. Хаб ни ту, ни другую не задаёт.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Планирование мощности