dsn-return-default

<source>

Возвращает ли отчёт об отказе тело письма целиком или только заголовки
в конфигурации это строкаdsn-return-default systemвнутри блока <source>
Сколько письма приезжает обратно в отчёте

Значений три. headers — в отчёт кладутся только заголовки исходного письма. full — письмо целиком. system (умолчание) — как решит система.

Строка задаёт умолчание для параметра RET протокола: если подающая сторона указала его сама, действует её выбор.

Отменяется форматом отчёта. Руководство говорит прямо: при dsn-format plain-text эта директива перекрывается — то есть выбор простого текстового формата решает вопрос за вас.

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

Второй край: полный отчёт уносит содержимое письма туда, куда направлен обратный адрес. Если это ящик у стороннего провайдера, содержимое рассылки уезжает к нему.

Что делает Хаб. Не пишет — остаётся вендорское system.

Для нашей подачи это почти безразлично: во всех источниках подачи действует suppress-local-dsn true, то есть локальные отчёты об отказе узел не рассылает вовсе — отказы приходят в телеметрию записями учёта. Строка проявилась бы только там, где отчёты всё-таки отправляются.

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

Что ставить. Выбор между разбираемостью и объёмом:

Значение Когда
system (умолчание) отчёты и так подавлены либо разбираются машиной
headers отчёты читает человек, и нужен контекст без веса письма
full разбор редких отказов, где важно, что именно ушло

Третье — для расследования, а не для постоянной настройки: на массовой рассылке оно удваивает обратный поток.

Умолчание system, три значения и отмена форматом plain-text — из руководства, § 3.3.7.31. Разбивка случаев и оценка объёма наши.
Пример в конфигурации
# человеку в отчёте нужен контекст, а не всё письмо целиком
<source 0/0>
    dsn-return-default headers</source>
Если подающая сторона указала параметр RET сама, действует её выбор: строка задаёт только умолчание.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Правят строку при подавленных отчётах

§ 3.3.7.31

Чем чреватоОтчёты не отправляются вовсе, и содержимое их не имеет значения. Время уходит на настройку, которая не проявится.
Как заметитьСтрока правится, поведение не меняется, отчётов нет.
Как правильноСначала посмотреть, отправляются ли отчёты, — это решает соседняя строка.

Ставят полное тело на массовой рассылке

§ 3.3.7.31

Чем чреватоОбратный поток удваивается: каждый отказ возвращает письмо целиком. Это очереди, соединения и место в спуле — при том что для разбора обычно хватает заголовков.
Как заметитьОбъём исходящей почты заметно больше объёма рассылки.
Как правильноДержать headers для постоянной работы, а полное тело включать на время расследования.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
dsn-return-default <enumeration>
Значения
headers | full | system
Умолчание
system § 3.3.7.31
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<source>
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Директива живёт в <source> и подчиняется слиянию источников: соединение попадает под все адресные блоки, которые его накрывают, и узкий перекрывает широкий. Поверх слияния действуют ещё два перекрытия: параметр RET от подающей стороны и выбор простого текстового формата отчёта.
Как проверить на узле
Строку видно в конфигурации, но читать её надо вместе с двумя соседними:
grep -n 'dsn-return-default\|suppress-local-dsn\|dsn-format' /etc/pmta/config /etc/pmta/virtualhost.txt
Если локальные отчёты подавлены, строка не проявится никак — отчёты просто не отправляются. Если задан простой текстовый формат, она перекрыта им.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Приём входящей почты