Назад | Перейти на главную страницу

Конфигурация exim4 - установка DKIM_DOMAIN

Я установил DKIM с exim4 на своем сервере debian. Все работает правильно с одним фиксированным доменом, например следующее работает отлично.

DKIM_DOMAIN = example.com

Теперь я пытаюсь изменить это для работы с несколькими доменами. Итак, я изменил это на

DKIM_DOMAIN = ${lc:${domain:$h_from}}

(другие изменения, а также необходимые) - однако это не работает, потому что фактические электронные письма отправляются из разных *.example.com. Итак, я подумал, что буду использовать `$ {sg ...}, чтобы удалить первую часть, однако у меня возникли проблемы с правильным ответом. Что бы я ни попробовал, exim выдаст это в журнале:

failed to expand dkim_domain: missing } at end of string - could be header name not terminated by colon

Ситуация усложняется тем фактом, что некоторые из доменов называются «.com», а другие - «.co.uk». Как минимум, мне нужно обслуживать example.org, example.com и example.co.uk.

Вот что у меня есть на данный момент:

${sg{${lc:${domain:$h_from}}}{\N^.+\.(example\.(co\.uk|org|com))\$\N}{\$1}}

Это снова приводит к появлению вышеуказанного сообщения об ошибке. Может ли кто-нибудь помочь мне решить эту проблему?

Я подписываюсь для нескольких доменов отправителя со следующими элементами конфигурации. Все сайты используют один и тот же закрытый ключ. Установить закрытый ключ было бы сложнее, если бы они использовали разные ключи, но это можно сделать. Я использую селектор как расширение имени файла закрытого ключа. В настоящее время 201710.

DKIM_CANON = relaxed
DKIM_DOMAIN = ${sender_address_domain}
DKIM_PRIVATE_KEY = CONFDIR/dkim.private.201710
DKIM_SELECTOR = ${extract{-1}{.}{DKIM_PRIVATE_KEY}}
DKIM_STRICT = true
DKIM_WARN = true

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

Я написал статью о Реализация DKIM с Exim.