retain-x-dkim-options

<source>

Оставлять ли заголовок X-DKIM-Options в письме при доставке
в конфигурации это строкаretain-x-dkim-options falseвнутри блока <source>
Показывать ли получателю, как настроена подпись

Умолчание — false: заголовок снимается перед отправкой на чужой сервер. С true он остаётся в письме и доезжает до получателя.

Независимость от разрешения читать заголовок руководство называет прямо у соседних пар — расписания и ключа подписи. Раздел про этот заголовок о связи молчит, и разумно считать правило тем же: обработка и сохранение решают разные вопросы и ничего друг о друге не знают.

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

Разрешить противоречие чтением нельзя — только проверкой на своей установке. Пока не проверено, безопаснее считать, что заголовок остаётся.

Что делает Хаб. Не пишет: заголовок с настройками подписи в нашей подаче не участвует, и снимать его незачем — если он не придёт, снимать нечего.

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

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

Что ставить. Умолчание почти всегда верно:

Значение Когда
no (умолчание) обычный случай: получателю незачем видеть настройки подписи
yes разбор своей же подачи, когда нужно видеть, с чем письмо пришло

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

Умолчание false — из руководства, § 3.3.7.60. Независимость от обработки руководство называет у соседних пар (§ 3.3.7.47, § 3.3.7.59), сюда она перенесена по аналогии. Разбивка случаев наша.
Пример в конфигурации
# заголовок остаётся в письме — только на время разбора подачи
<source 10.0.0.0/24>
    process-x-dkim-options true
    retain-x-dkim-options true</source>
Обе строки нужны только вместе на время разбирательства: первая заставляет MTA прочитать заголовок, вторая — оставить его на месте, чтобы было видно, с чем письмо пришло.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Считают вопрос решённым по руководству

§ 3.3.7.47

Чем чреватоПро случай «обе директивы выключены» в руководстве две взаимоисключающие фразы, и обе про удаление заголовка. Выбор между ними по авторитету текста невозможен.
Как заметитьЗаголовок ведёт себя не так, как ожидалось по прочитанному.
Как правильноОтправить письмо со всеми служебными заголовками на свой ящик и посмотреть, что дошло. Одна проверка закрывает вопрос для вашей версии MTA.

Оставляют включённым после разбирательства

наш опыт

Чем чреватоПолучатели продолжают видеть селекторы и домены подписи — и через них устройство вашей подписи целиком.
Как заметитьЗаголовок с настройками подписи встречается в письмах, полученных в контрольных ящиках.
Как правильноВозвращать умолчание сразу после разбора и не держать включённым на боевых источниках.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
retain-x-dkim-options <boolean>
Значения
yes | no | true | false
Умолчание
false § 3.3.7.60
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<source>
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Директива живёт в <source> и подчиняется слиянию источников: соединение попадает под все адресные блоки, которые его накрывают, и узкий перекрывает широкий. Для подачи под логином действует именованный блок, и строку в нём приходится повторять — наследования из адресных блоков в именованный мы на своей установке не увидели.
Как проверить на узле
Настройка видна в конфигурации, следствие — в доставленном письме:
grep -n 'retain-x-dkim' /etc/pmta/config /etc/pmta/virtualhost.txt
Строки нет — действует умолчание. Что на самом деле доехало до получателя, надёжнее посмотреть в контрольном ящике: это же единственный способ разрешить противоречие руководства о случае «обе выключены».
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Подключить платформу отправки