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

Почему exim не добавляет в электронные письма заголовок DKIM?

Раньше мои письма подписывались DKIM в заголовке. Теперь, если вы проверите источник электронной почты, он не подписывается.

Что случилось? Как я могу отладить, какие журналы можно посмотреть?

cat /etc/exim4/conf.d/main/00_local_macros 

Возврат:

DKIM_CANON = relaxed
DKIM_SELECTOR = mail
DKIM_DOMAIN = ${sg{${lc:${domain:$h_from:}}}{^www\.}{}}
DKIM_FILE = /etc/exim4/keys/${dkim_domain}/mail.private
DKIM_PRIVATE_KEY = ${if exists{DKIM_FILE}{DKIM_FILE}{0}}

Расположение ключей:

ls -la /etc/exim4/keys/example.co.za/

Возврат:

-rwxr-x--- 1 Debian-exim Debian-exim  887 Mar  7 17:26 mail.private
-rwxr-x--- 1 Debian-exim Debian-exim  305 Mar  7 17:26 mail.txt

Проверьте свой основной журнал, чтобы узнать, какой транспорт доставляет вашу почту (T = строки). Единственный стандартный транспорт, подписывающий электронную почту, - это remote_smtp. Если почта доставляется другим транспортом, она не подписывается.

РЕДАКТИРОВАТЬ: Я считаю, что, возможно, ваша проблема в том, что ${dkim_domain} скорее всего не содержит значения DKIM_DOMAIN :

DKIM_DOMAIN = ${sg{${lc:${domain:$h_from:}}}{^www\.}{}}
DKIM_FILE = /etc/exim4/keys/${dkim_domain}/mail.private

Пытаться:

DKIM_DOMAIN = ${sg{${lc:${domain:$h_from:}}}{^www\.}{}}
DKIM_FILE = /etc/exim4/keys/{DKIM_DOMAIN}/mail.private

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

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

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

Идентификатор пользователя, запускающего exim, должен иметь возможность читать ключевые файлы и все каталоги, ведущие к файлам. Однако он не должен иметь возможность записывать или заменять ключи. Если у вас есть ключи в выделенном каталоге, вы можете защитить его, изменив режим на 750, меняя владельца на root и группа Debian-exim или любая другая группа, от имени которой работает exim. Аналогичным образом защитите ключи, но установите режим 440 или 640.