<domain>
Между вашим узлом и почтовым ящиком письмо проходит через чужие серверы, и они переоформляют заголовки: переносят длинные строки, схлопывают пробелы, меняют регистр имён. Содержание при этом не меняется, а байты меняются — и подпись по ним ломается.
Канонизация решает, что считать изменением. Умолчание relaxed приводит заголовки к общему виду перед подписью и перед проверкой: имя в нижний регистр, пробелы в один, перенос убран. simple не прощает ничего: любой байт не на месте — подпись не сходится.
Пара к этой строке — dkim-body-canon: та же развилка для тела письма. В подписи они стоят рядом, в поле c=, через косую черту.
Оставьте relaxed. Это умолчание и здесь, и в подавляющем большинстве чужих конфигураций.
simple — только для контролируемого пути. Например, между двумя своими узлами, где посредников нет.
Разные значения для тела и заголовков допустимы. Обычно берут relaxed для обоих, но пара relaxed/simple встречается — в подписи она видна прямо, в поле c=.
# умолчание оставлено намеренно: путь письма нам не подконтролен <domain *> dkim-headers-canon relaxed dkim-body-canon relaxed </domain>
что делают не так и чем это кончается2 ошибки▶
наш опыт
наш опыт
1 связь
dkim-sign<domain>Ничего не делает, пока подпись не включена. § 3.3.10.23
pmta show settings gmail.com/vmta1 | grep -i canon grep -i 'DKIM-Signature' /var/log/pmta/pmta.log | tail -3
3 статьи
◇Не отправлять то, что не пройдёт проверку у получателяУзел сам проверяет SPF своей почты перед отправкой: не прошло — отбивает, не дожидаясь чужого отказа.◇Как узел подписывает письма и выбирает ключКлюч выбирается по домену отправки из заголовков, перебором объявлений сверху вниз.◇Заголовок письма, которым подающая сторона правит подписьПять параметров в X-DKIM-Options: селектор, домен, имя подписи, способ запроса и список ключей.