Milter 服务需要 transport:endpoint 而不是“/var/run/opendkim/opendkim.sock”

Milter 服务需要 transport:endpoint 而不是“/var/run/opendkim/opendkim.sock”

我已经根据本教程使用 milter 设置了 postfix:https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy

但随后 posptfix 报告说无法通过该套接字连接到 milter

我将 Postfix 中的套接字更改main.cf为:

    smtpd_milters = /var/run/opendkim/opendkim.sock
    non_smtpd_milters = /var/run/opendkim/opendkim.sock

并将 opendkim 设置/etc/default/opendkim为:

SOCKET="local:/var/run/opendkim/opendkim.sock" # default

现在我收到以下警告并且我的邮件未签名:

Oct 28 18:45:12 localhost postfix/cleanup[22881]: warning: Milter service needs transport:endpoint instead of "/var/run/opendkim/opendkim.sock"

我该如何解决这个问题?

答案1

正如错误中所述,参数的值smtpd_miltersnon_smtpd_milters正确。正确的是

smtpd_milters = unix:/var/run/opendkim/opendkim.sock
non_smtpd_milters = unix:/var/run/opendkim/opendkim.sock

正如所述官方文档

监听套接字的一般语法如下:

unix:路径名

连接到与指定路径名绑定的本地 UNIX 域服务器。如果 smtpd(8) 或 cleanup(8) 进程以 chroot 方式运行,则绝对路径名将相对于 Postfix 队列目录进行解释。

inet:主机:端口

连接到指定本地或远程主机上的指定 TCP 端口。主机和端口可以以数字或符号形式指定。

相关内容