我已经根据本教程使用 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_milters
不non_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 端口。主机和端口可以以数字或符号形式指定。