dsn-format

<domain>

Стандартный формат отчёта или только его текстовая часть
в конфигурации это строкаdsn-format standardвнутри блока <domain>
Обходной путь для фильтров, режущих вложения

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

Со значением plain-text вместо полного отчёта отдаётся только часть со статусом доставки, и отдаётся она обычным текстом. Назначение руководство называет прямо: так отчёт проходит сквозь чрезмерно усердные почтовые фильтры, которые вырезают из писем всё, что похоже на вложение.

Настройка задаётся у получателя, то есть для конкретного приёмника: там, где фильтр действительно режет, а не везде.

Второе значение перекрывает dsn-return-default: выбор «сколько письма возвращать в отчёте» при простом текстовом формате не действует.

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

Значит выбор здесь не «удобнее», а «пусть дойдёт урезанным вместо того, чтобы не дойти вовсе».

Что делает Хаб. Не пишет — и не может проявиться: во всех источниках подачи действует suppress-local-dsn true, письма-отчёты узел не формирует вовсе.

Исходы Хаб сводит по записям учёта, и вопрос «в каком виде отчёт пройдёт чужой фильтр» для него не возникает.

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

Что ставить. Строка адресная, для конкретного приёмника:

Значение Когда
standard (умолчание) везде, где отчёты доходят
plain-text конкретный приёмник режет вложения, и стандартный отчёт до адресата не добирается

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

Умолчание standard, состав отдаваемой части и назначение «пройти сквозь фильтры, режущие вложения» — из руководства, § 3.3.10.3. Перекрытие выбора объёма — § 3.3.7.31. Совет не ставить в общем блоке наш.
Пример в конфигурации
# у приёмника, который режет вложения, — только у него
<domain hotmail.com>
    dsn-format plain-text</domain>
Отчёт до этого приёмника дойдёт урезанным — одной частью вместо составного письма. Остальным получателям он по-прежнему уходит целиком.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Ставят простой формат в общем блоке получателей

§ 3.3.10.3

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

Настраивают объём отчёта вместе с простым форматом

§ 3.3.7.31

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