add-x-virtual-mta-header

<source>

Добавлять ли в письмо заголовок с именем потока, если его там нет
в конфигурации это строкаadd-x-virtual-mta-header falseвнутри блока <source>
Пусть письмо само говорит, каким адресом ушло

Умолчание — false. Со значением yes узел добавляет в письмо заголовок с именем потока, которым письмо доставляется, — если такого заголовка ещё нет.

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

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

Главная ловушка — включить это вместе с сокрытием источника. Одна строка убирает следы внутреннего устройства из письма, другая добавляет туда имя потока. Вместе они противоречат друг другу, и побеждает та, что добавляет: заголовок остаётся.
Что делает Хаб. Не пишет. Имя потока по каждому письму приходит в учёт и вебхуком, поэтому подписывать письма незачем. Если понадобится разбирать по копиям — например, из контрольных ящиков, — включать придётся осознанно и понимать, что имена потоков станут видны получателям.
Рекомендуемые значения

Что ставить. Решение сводится к одному вопросу — важнее ли разбор по копии письма, чем непубличность имён:

Значение Когда
no (умолчание) всегда, пока имя потока доступно из учёта
yes разбор идёт по копиям писем, а не по данным узла

Если включаете — стоит заранее сделать имена потоков нейтральными: получателю их будет видно.

Умолчание false и правило «только если заголовка ещё нет» — из руководства. Совет про нейтральные имена — наш.
Пример в конфигурации
# письмо подписывается именем потока — видно и получателю
<source 10.0.0.0/24>
    add-x-virtual-mta-header yes</source>
Если письмо уже несёт X-Virtual-MTA, узел ничего не добавляет — строка работает только «если заголовка нет». В паре с включённым retain-x-virtual-mta результат один и тот же: имя потока в доставленном письме.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Включают вместе с сокрытием источника

§ 3.3.7.36

Чем чреватоНастройки противоречат друг другу: одна убирает следы внутреннего устройства, другая добавляет имя потока. Ожидание «письмо ничего о нас не говорит» не выполняется.
Как заметитьhide-message-source включён, а в доставленном письме стоит X-Virtual-MTA с внутренним именем.
Как правильноВыбрать одно. Для разбора имя потока брать из учёта — там оно есть всегда и получателю не видно.

Включают на всём узле ради одной задачи

наш опыт

Чем чреватоИмена потоков всего парка становятся видны всем получателям, хотя понадобились для разбора одной рассылки.
Как заметитьЗаголовок появляется в письмах, к разбираемой задаче отношения не имеющих.
Как правильноСтавить строку в узкий блок <source> — той подачи, которую разбираете, — и снимать после.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
add-x-virtual-mta-header <boolean>
Значения
yes | no | true | false
Умолчание
false § 3.3.7.54
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<source>
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Директива живёт в <source> и сливается по правилу источников: более узкий блок перекрывает более широкий. Включать её разумно точечно — для той подачи, чьи письма вы собираетесь разбирать по копиям, — а не в <source> 0/0.
Как проверить на узле
Надёжнее всего — отправить письмо себе и посмотреть исходный код. По конфигурации:
grep -n -B5 add-x-virtual-mta-header /etc/pmta/config
Заголовка в доставленном письме может не быть и при включённой строке — если письмо принесло свой собственный X-Virtual-MTA, а retain-x-virtual-mta оставлен выключенным: тогда узел снимет принесённый и добавлять свой не станет.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Ротация адресов отправки