dkim-add-timestamp

<domain>

Ставить ли в подпись момент её создания
в конфигурации это строкаdkim-add-timestamp falseвнутри блока <domain>
Отметка времени в подписи

Добавляет в подпись поле с моментом её создания. Умолчание — не добавлять.

Само по себе поле ничего не решает. Приёмник по нему подпись не отвергает: срок годности задаётся другой строкой, dkim-expire-after. Отметка времени — это сведение, а не правило.

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

Главная ловушка — принимают за срок годности. Отметка времени не ограничивает ничего: подпись с ней действительна столько же, сколько без неё. Ограничивает dkim-expire-after, и это разные поля подписи.
Что делает Хаб. Не пишет — остаётся вендорское значение. Кандидат на включение: поле ничего не стоит, а разбирательства по старым письмам делает возможными.
Рекомендуемые значения

Включать можно и почти бесплатно. Одно поле в подписи, никаких последствий для проверки.

Вместе со сроком годности — осмысленно. Отметка говорит когда, срок говорит до каких пор; порознь второе полезнее.

Не путайте с заголовком Date. Тот ставит подающая сторона по своим часам; отметку ставит сам узел в момент подписи.

Оценка «включать можно и почти бесплатно» — наша. Из руководства здесь умолчание и назначение строки.
Пример в конфигурации
# отметка времени и срок годности — разные поля, ставим обе
<domain *>
    dkim-add-timestamp true    dkim-expire-after 3d
</domain>
Первая говорит, когда подпись поставлена, вторая — до каких пор она действительна. Одна другую не заменяет.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Принимают отметку за срок годности

наш опыт

Чем чреватоПодпись с отметкой действительна ровно столько же, сколько без неё. Защиту от повторного использования считают включённой, а её нет.
Как заметитьОтметка включена, dkim-expire-after оставлен без значения.
Как правильноЗадать срок годности отдельно — это другое поле подписи.

Не включают, а потом разбираются по заголовку Date

наш опыт

Чем чреватоЗаголовок ставит подающая сторона по своим часам, и узел за него не отвечает. При разбирательстве по старой жалобе опереться не на что.
Как заметитьСпор о том, когда было отправлено письмо, упирается в недоказуемое.
Как правильноВключить отметку: её ставит сам узел в момент подписи.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
dkim-add-timestamp <boolean>
Значения
yes или no; true и false принимаются наравне с ними
Умолчание
false § 3.3.10.20
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<domain>
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Значение сливается по блокам <domain> от общего к частному: побеждает наиболее подходящий блок, а не последний по файлу. Подхватывается по pmta reload; на письма в очереди действует со следующей попытки.
⇄

Связанные директивы

1 связь

Как проверить на узле
Значение печатает команда настроек очереди; появилось ли поле — видно в самой подписи:
pmta show settings gmail.com/vmta1 | grep -i add-timestamp
grep -i 'DKIM-Signature' /var/log/pmta/pmta.log | tail -3
Поле t= в подписи и есть отметка времени; без строки его нет. Хаб этой строки не пишет.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Подпись и аутентификация писем