Milter(opendkim):连接到过滤器时出错:本地主机拒绝连接

Milter(opendkim):连接到过滤器时出错:本地主机拒绝连接

我在 Ubuntu 16 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?

答案1

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

在我的系统上,我发现我必须改变

/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 未用于指定端口。

高血压,

相关内容