web-dev-qa-db-ja.com

Milter(opendkim):フィルターへの接続エラー:localhostによって接続が拒否されました

私はUbuntu16 LTSを使用していて、opendkimでメールに署名しようとしていますが、次のようになります。

$ tail /var/log/mail.err
...
Milter (opendkim): error connecting to filter: Connection refused by localhost

sendmailを次のように構成しました。

INPUT_MAIL_FILTER(`opendkim', `S=inet:8891@localhost')dnl

そして/etc/opendkim.conf 私が持っています:

Socket inet:8891@localhost

lsofで確認すると、8891で何もリッスンしていません。

 $ Sudo lsof -i :8891 -n
 [nothing]

opendkimのステータスを見ると、実行中であることがわかります。

 $ systemctl status opendkim.service
 ...
 Active: active (running)
 ...

なぜ8891で聞いていないのですか?

2
Jeff Kaufman

Opendkim用の別の構成ファイル/etc/default/opendkimがあり、そのファイルは別のデフォルトソケットを指定しています。

# Command-line options specified here will override the contents of
# /etc/opendkim.conf. See opendkim(8) for a complete list of options.
...
SOCKET="local:/var/run/opendkim/opendkim.sock"

その行をコメント化し、下のSOCKET="inet:8891@localhost"を入力すると機能しました。

2
Jeff Kaufman

私のシステムでは、変更する必要があることがわかりました

/etc/systemd/system/multi-user.target.wants/opendkim.service

から

ExecStart=/usr/sbin/opendkim -P /var/run/opendkim/opendkim.pid -p local:/var/run/opendkim/opendkim.sock

ExecStart=/usr/sbin/opendkim -P /var/run/opendkim/opendkim.pid -p inet:8891@localhost

そして次に

systemctl daemon-reload

そして

service opendkim restart

その後、私はそれが聞いているのを見ることができました:

netstat -nalp | grep 8891

何らかの理由で、opendkim.confはポートの指定に使用されませんでした。

HTH、

M

1
eMaX