retain-x-sp-subaccount-id

<inline-seeding>

Оставлять ли заголовок субсчёта в отправляемом письме
в конфигурации это строкаretain-x-sp-subaccount-idвнутри блока <inline-seeding>
То же имя ещё 1:<inline-seeding><signals>— часть из них другие настройки, часть та же самая
Уйдёт ли служебный заголовок получателю

Прочитав заголовок x-sp-subaccount-id, узел по умолчанию его удаляет — служебная пометка не должна уходить получателю. Строка со значением true велит оставить. Умолчание — false.

Есть и второй путь остаться: если чтение заголовка выключено (process-x-sp-subaccount-id в false), заголовок сохраняется в письме независимо от этой строки — узел его просто не трогает.

🔴 Заголовок раскрывает внутреннее устройство. Номер субсчёта — это ваш способ делить клиентов; ушедший получателю, он говорит ему больше, чем нужно, и попадает в его архивы.

Строка общая на два механизма — включённая хоть здесь, хоть в <signals>, она действует для обоих.

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

Решение зависит от доверия к подающей стороне:

Значение Когда
false (умолчание) всегда
true заголовок нужен принимающей стороне, и она своя

При выключенном чтении заголовок остаётся независимо от этой строки.

Умолчание false, сохранение заголовка при выключенном чтении и общность строки с блоком выгрузки событий — из руководства (§ 11.2.2.2.6).
Пример в конфигурации
<inline-seeding>
    api-key 0123456789abcdef012345678901234567890123
    process-x-sp-subaccount-id true
    retain-x-sp-subaccount-id false</inline-seeding>
Умолчание, записанное явно: заголовок прочитан и удалён, получателю он не уйдёт.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Оставляют служебный заголовок в письме

наш опыт

Чем чреватоНомер субсчёта уходит получателю и остаётся в его архиве. Это внутреннее деление клиентов, которое ему знать незачем.
Как заметитьВ доставленном письме виден заголовок с номером.
Как правильноВернуть умолчание; нужное ниже по потоку брать из учёта.

Настраивают строку отдельно в двух блоках

§ 11.2.2.2.6

Чем чреватоСтрока общая: включённая хоть в засеивании, хоть в выгрузке событий, она действует для обоих. Разные значения в двух блоках не дадут разного поведения.
Как заметитьВ одном блоке true, в другом false, а ведут себя одинаково.
Как правильноСчитать её одной настройкой на два механизма.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
retain-x-sp-subaccount-id { yes | no }
Значения
yes | no | true | false
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<inline-seeding>
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Наследования нет: строка живёт внутри <inline-seeding>, а такой блок на узле один. Но действие у неё общее с <signals>: включённая в любом из двух, она работает для обоих.
Как проверить на узле
Проверять надо по отправленному письму — заголовок либо есть, либо нет:
grep -i "x-sp-subaccount-id" /var/log/pmta/log | tail -10
Надёжнее посмотреть заголовки письма, дошедшего до контрольного ящика: там видно, ушёл заголовок получателю или был снят.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Разделение отправителей