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

OpenDKIM не подписывает почту

Итак, у меня проблемы с тем, чтобы OpenDKIM подписывал мои сообщения, но я упираюсь в причину, по которой это может быть:

В Debian Jessie с Postfix и OpenDKIM.

Мой /etc/opendkim.conf:

Syslog                  yes
SyslogSuccess           Yes
LogWhy yes
UMask                   002
Canonicalization        relaxed/simple
Mode                    sv
SubDomains              no
#ADSPAction             continue
AutoRestart             Yes
AutoRestartRate         10/1h
Background              yes
DNSTimeout              5
SignatureAlgorithm      rsa-sha256
UserID                  opendkim:opendkim
Socket                  inet:12301@localhost
KeyTable        refile:/etc/opendkim/KeyTable
SigningTable    refile:/etc/opendkim/SigningTable
ExternalIgnoreList      refile:/etc/opendkim/TrustedHosts
InternalHosts   refile:/etc/opendkim/TrustedHosts

Мой /etc/opendkim/KeyTable:

default._domainkey.example.com example.com:default:/etc/opendkim/keys/example.com/default.private

Мой /etc/opendkim/SigningTable:

example.com default._domainkey.example.com

Пробовал следующий вариант SigningTable, но это отключило мой SMTP:

*@example.com default._domainkey.example.com

Раскомментируйте следующую строку в моем /etc/default/opendkim:

SOCKET="inet:12345@localhost

В моем /etc/postfix/main/cf:

# DKIM
milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:localhost:12345
non_smtpd_milters = inet:localhost:12345

Это что opendkim-testkey -d example.com -s default -vvv возвращает:

opendkim-testkey: using default configfile /etc/opendkim.conf
opendkim-testkey: checking key 'default._domainkey.example.com'
opendkim-testkey: key not secure
opendkim-testkey: key OK

Кажется, в моих журналах нет ошибок, связанных с opendkim, но когда я пытаюсь проверить подпись, mail-tester.com сообщает об отсутствии подписи DKIM, check-auth@verifier.port25.com возвращает проверку DKIM: нет.

Любая помощь в определении того, что мне не хватает, будет очень признательна. Спасибо.

Проблемы, которые я вижу:

  • Ваше использование refile
    Из документация:

    Если строка начинается с «refile:», то предполагается, что оставшаяся часть строки определяет файл, содержащий набор шаблонов, по одному на строку, и связанные с ними значения. Шаблон принимается как начало строки до первого пробела, а часть после этого пробела принимается как значение, которое будет использоваться при сопоставлении этого шаблона. Шаблоны - это простые шаблоны с подстановочными знаками, соответствующие всему тексту, за исключением того, что символ звездочки («*») считается подстановочным знаком. Если значение содержит несколько записей, их следует разделять двоеточиями.

    KeyTable не следует этому шаблону, поэтому ему не нужен refile ключевое слово. Может, не больно, не знаю. Я не использую его там в своей конфигурации, и у меня он работает.

    KeyTable        /etc/opendkim/KeyTable
    SigningTable    refile:/etc/opendkim/SigningTable
    
  • Ваш KeyTable

    Строки должны начинаться с домена, а не с записи domainkey:

    example.com example.com:default:/etc/opendkim/keys/example.com/default.private
    
  • SigningTable

    Таблица подписи должна сопоставлять адреса электронной почты с доменом. Должно получиться так:

    *@example.com example.com
    

    Здесь refile ключевое слово необходимо.

Я не знаю о ExternalIgnoreList и InternalHosts, так как я ими не пользуюсь. В остальном конфигурация мне нравится.