arc-headers-canon

<domain>

Как приводятся заголовки перед заверением пересылки
в конфигурации это строкаarc-headers-canon relaxedвнутри блока <domain>
Ещё одна строка без выбора

Аналог dkim-headers-canon, но значение здесь одно — relaxed, оно же умолчание. Руководство говорит прямо: другие способы не поддерживаются.

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

Для тела выбор остался — им управляет arc-body-canon, и там значений два.

Главная ловушка — переносят simple с обычной подписи. У dkim-headers-canon это значение допустимо, здесь нет. Строка с недопустимым значением — повод для узла отказаться разбирать конфигурацию, а причина при этом называется неочевидно.
Что делает Хаб. Не пишет — и писать нечего: значение единственное и совпадает с умолчанием.
Рекомендуемые значения

Не задавайте. Умолчание и есть единственный допустимый способ.

Не копируйте строку с обычной подписи. Там допустимы оба значения, здесь только одно.

Терпимость к переоформлению здесь и нужна. Пересылаемое письмо проходит через большее число узлов, чем собственное.

Совет не задавать и замечание о числе узлов на пути — наши. Из руководства здесь единственный поддерживаемый способ и умолчание.
Пример в конфигурации
# для заголовков выбора нет, для тела — есть
<domain *>
    arc-sign yes
    arc-headers-canon relaxed    arc-body-canon relaxed
</domain>
Первую строку можно убрать без последствий, вторая — настоящая настройка: у тела значений два.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Переносят simple с обычной подписи

§ 3.3.10.33

Чем чреватоУ заверения пересылки такого значения нет. Строка с недопустимым значением мешает разбору конфигурации, а причина называется неочевидно.
Как заметитьУзел не принимает конфигурацию после копирования блока обычной подписи.
Как правильноУбрать строку либо оставить единственное допустимое значение.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · linux
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
arc-headers-canon <enumeration>
Значения
relaxed — единственный поддерживаемый способ
Умолчание
relaxed § 3.3.10.33
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<domain>
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Значение сливается по блокам <domain> от общего к частному: побеждает наиболее подходящий блок, а не последний по файлу. Подхватывается по pmta reload; при единственном допустимом значении наследование ни на что не влияет.
Как проверить на узле
Значение печатает команда настроек очереди — оно всегда одно:
pmta show settings gmail.com/vmta1 | grep -i arc-headers-canon
Другого значения в выводе быть не может. Хаб этой строки не пишет.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Подпись и аутентификация писем