suppress-local-dsn

<source>Хаб задаёт сам

Формировать ли отчёты об исходе для почты от этого источника
в конфигурации это строкаsuppress-local-dsn falseвнутри блока <source>
Отчёт письмом или запись в учёте

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

Записи учёта при этом пишутся как обычно. Это ключевое: подавляется не сведение об исходе, а способ его доставки. Данные никуда не деваются — они лежат в файле учёта и уезжают вебхуком, если он настроен.

Строка заменила более старую deliver-local-dsn, которая делала то же самое со стороны отправителя, а не источника, и объявлена устаревшей.

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

Вторая половина: подавление касается писем, принятых от источника, а не писем, отправленных ему. Прочитать строку наоборот легко, и тогда она оказывается не в том блоке.

Что делает Хаб. Пишет true в общем источнике 0/0 — и в базовой конфигурации, и в рабочей; адресные источники подачи получают значение оттуда по слиянию. Отдельно строка стоит в каждом именованном источнике подачи с логином: директивы общего источника на авторизованное соединение не переносятся.

Замена у него есть, и настоящая: исходы приезжают записями учёта через вебхук телеметрии — доставки, отказы, временные неудачи и жалобы. Письма-отчёты в этой схеме были бы вторым каналом тех же данных, только медленнее и с нагрузкой на очереди.

Из этого следует, что все настройки вида и содержимого отчётов — шаблоны темы, тела, заголовка — у нас не проявляются никак.

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

Что ставить. Ответ зависит от того, есть ли у вас разбор учёта:

Значение Когда
false (умолчание) сведения об исходах берутся из писем-отчётов — единственный канал без настройки
true учёт разбирается машиной: файлом, вебхуком или обоими

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

Назначение и оговорка «записи учёта пишутся как обычно» — из руководства, § 3.3.7.30. Замена устаревшей директивы — § 3.3.10.9. Совет о порядке включения наш.
Пример в конфигурации
# так пишет конфигурацию Хаб — исходы приезжают учётом, а не письмами
<source 0/0>
    suppress-local-dsn true</source>
Записи учёта продолжают писаться: подавляются только письма-отчёты. Все настройки их вида — шаблоны темы, тела, заголовка — при этом перестают проявляться.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Подавляют отчёты раньше, чем настроен разбор учёта

наш опыт

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

Ставят строку в блок не того источника

§ 3.3.7.30

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

Пользуются устаревшей директивой вместо этой

§ 3.3.10.9

Чем чреватоПрежняя строка объявлена устаревшей и живёт в блоке получателя, а не источника: она подавляла отчёты по домену отправителя. Смешивать их в одной конфигурации — верный способ получить неожиданный результат.
Как заметитьВ конфигурации встречаются обе строки.
Как правильноОставить только эту, а устаревшую убрать.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
suppress-local-dsn <boolean>
Значения
yes | no | true | false
Умолчание
false § 3.3.7.30
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<source>
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Директива живёт в <source> и подчиняется слиянию источников: соединение попадает под все адресные блоки, которые его накрывают, и узкий перекрывает широкий. Для подачи под логином действует именованный блок — Хаб повторяет строку и там, потому что наследования из адресных блоков в именованный мы не увидели.
Как проверить на узле
Настройку видно в конфигурации; убедиться, что замена работает, важнее самой строки:
grep -n 'suppress-local-dsn\|deliver-local-dsn' /etc/pmta/config /etc/pmta/virtualhost.txt
grep -n -A4 '^<acct-file' /etc/pmta/config
Вторая команда показывает, куда уходят записи учёта. Если подавление включено, а блок учёта не настроен, сведения об исходах не сохраняются нигде.
В Хабе
Управляется
Аналитика → Учёт узла
Значение
Хаб подбирает сам — темп, стадия прогрева, метрики
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Подключить платформу отправки