DebianとPostfixを実行しているメールサーバーでOpenDKIMをセットアップしようとしています。これは私が行った設定です:
KeyTable:
mail._domainkey.domain1.com domain1.com:mail:/etc/opendkim/keys/domain1.com/mail.private
mail._domainkey.domain2.com domain2.com:mail:/etc/opendkim/keys/domain2.com/mail.private
SigningTable:
*.domain1.com mail._domainkey.domain1.com
*.domain2.com mail._domainkey.domain2.com
TrustedHosts:
127.0.0.1
::1
localhost
私のopendkim.conf
は:
# This is a basic configuration that can easily be adapted to suit a standard
# installation. For more advanced options, see opendkim.conf(5) and/or
# /usr/share/doc/opendkim/examples/opendkim.conf.sample.
# Log to syslog
Syslog yes
# Required to use local socket with MTAs that access the socket as a non-
# privileged user (e.g. Postfix)
UMask 002
LogWhy yes
OversignHeaders From
TrustAnchorFile /usr/share/dns/root.key
KeyTable /etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
ExternalIgnoreList /etc/opendkim/TrustedHosts
InternalHosts /etc/opendkim/TrustedHosts
最後に、milterソケットを使用してPostfixに接続しました。
Postfix main.cf:
# Milters
smtpd_milters =
unix:/opendkim/opendkim.sock,
unix:/clamav/clamav-milter.ctl,
unix:/spamass/spamass.sock
non_smtpd_milters = unix:/opendkim/opendkim.sock
この現在の状態では、OpenDKIMは受信メールの署名を正しく検証しますが、何らかの理由で送信メールに署名しません。メッセージを送信しようとすると、これはmail.log
にログインします。
Nov 8 16:35:02 illium opendkim[30142]: 826DF501F39: %clienthostname% %clientip% not internal
Nov 8 16:35:02 illium opendkim[30142]: 826DF501F39: not authenticated
Nov 8 16:35:02 illium opendkim[30142]: 826DF501F39: no signature data
認証されたSMTPを使用してクライアントからPostfixにメールが送信されるため、not authenticated
の部分は正しくないと思います。
問題の原因は2つあります。
opendkim.conf
のコメントとは異なり、mode = sv
はnotがデフォルトです。明示的に設定する必要がありました。
SigningTableでエラーが発生しました:*.domain1.com
は*@domain1.com
である必要があります。
これらの2つのポイントを修正した後、正しく機能します。