discard-as-bounce

<domain>

Считать выброшенные письма отказами или доставками
в конфигурации это строкаdiscard-as-bounce falseвнутри блока <domain>
Какой буквой выброшенное письмо попадёт в учёт

Работает у очереди вида discard (type) — той, что письма выбрасывает. Выбрасывает, но в учёт запись пишет, и эта строка решает, какую именно.

Умолчание false — записывать доставкой (d). Умолчание выбрано так не случайно: с точки зрения узла работа сделана, письмо из очереди ушло без ошибки.

true — записывать отказом (b). Так честнее, если очередь вида discard играет роль чёрной дыры для заведомо недоставляемого: в отчётах эти письма встанут рядом с настоящими отказами, а не рядом с доставленными.

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

true — почти всегда правильный выбор. Он не мешает выбрасывать письма, но не даёт им попасть в доставленные.

Умолчание оставляют осознанно и редко. Оно уместно там, где выбрасывание и есть штатная доставка, — например, очередь-приёмник для сообщений, которые обработаны в другом месте.

Строка не отменяет саму запись. Учёт ведётся при любом значении; выбор только между буквой доставки и буквой отказа.

Правило «почти всегда включать» — наше. Из руководства здесь умолчание, обе буквы учёта и то, что строка действует только в очереди вида discard.
Пример в конфигурации
# тупиковый домен: письма выбрасываем, но в доставки не пишем
<domain undeliverable.example.com>
    type discard
    discard-as-bounce true</domain>
Без второй строки эти письма попадут в учёт буквой доставки и поднимут показатель доставляемости, не доехав ни до одного получателя.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Оставляют умолчание на очереди-заглушке

наш опыт

Чем чреватоВыброшенные письма попадают в учёт доставками и поднимают показатель доставляемости. Отчёт становится тем лучше, чем больше писем никто не получил.
Как заметитьДоставляемость выросла без изменений в отправке.
Как правильноПоставить true — записи останутся, но встанут в отказы.

Задают её очереди другого вида

§ 3.3.10.109

Чем чреватоСтрока игнорируется целиком: раздел discard действует только в очередях вида discard. В выводе настроек она при этом видна и выглядит работающей.
Как заметитьСтрока задана, тип записей в учёте не изменился.
Как правильноУбрать её из блоков с другим видом очереди.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
discard-as-bounce <boolean>
Значения
yes или no; true и false принимаются наравне с ними
Умолчание
false § 3.3.10.109.1
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<domain>
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Значение сливается по блокам <domain> от общего к частному: побеждает наиболее подходящий блок, а не последний по файлу. В очереди другого вида строка игнорируется — руководство говорит об этом про весь раздел discard. Подхватывается по pmta reload.
Как проверить на узле
Значение печатает команда настроек очереди; какой буквой пишутся записи — видно по самому учёту:
pmta show settings undeliverable.example.com/vmta1 | grep -i discard-as-bounce
grep -c ',undeliverable.example.com,' /var/log/pmta/acct-*.csv
Записи выброшенных писем в учёте есть при любом значении — меняется только тип записи. Хаб очередей вида discard не заводит.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Разобраться с доставляемостью · Собрать телеметрию