我正在尝试使用 postfix、dovecot、amavis 和 opendkim 设置服务器进行签名。
OpenDKIM 无法启动,以下是journalctl -xe
停止并启动 opendkim 后的输出:
Jul 21 21:54:17 mail systemd[1]: Starting OpenDKIM DomainKeys Identified Mail (DKIM) Milter...
-- Subject: A start job for unit opendkim.service has begun execution
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- A start job for unit opendkim.service has begun execution.
--
-- The job identifier is 54385.
Jul 21 21:54:17 mail opendkim[108677]: opendkim: milter socket must be specified
Jul 21 21:54:17 mail systemd[1]: opendkim.service: Control process exited, code=exited, status=78/CONFIG
-- Subject: Unit process exited
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- An ExecStart= process belonging to unit opendkim.service has exited.
--
-- The process' exit code is 'exited' and its exit status is 78.
Jul 21 21:54:17 mail systemd[1]: opendkim.service: Failed with result 'exit-code'.
-- Subject: Unit failed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- The unit opendkim.service has entered the 'failed' state with result 'exit-code'.
我的 OpenDKIM (/etc/opendkim.conf) 配置如下:
Syslog yes
LogResults yes
LogWhy yes
SyslogSuccess yes
UMask 002
Canonicalization relaxed/relaxed
# Only sign, don't verify (Amavis takes care of the verification)
Mode s
KeyTable /etc/opendkim/keytable
SigningTable refile:/etc/opendkim/signingtable
正如您在配置中看到的,我只希望 OpenDKIM 签名,而不是验证。
答案1
正如错误所说,您应该指定套接字。强制性配置参数可以在opendkim.conf文档:
Socket
(细绳)指定过滤器应建立的用于接收来自 发送邮件(8) 以便提供服务。 套接字规范 有两种形式:
local:path
,在指定路径创建一个 UNIX 域套接字,或者inet:port[@host]
或者inet6:port[@host]
在指定位置创建 TCP 套接字 港口 并属于指定的协议系列。如果 主持人 如果未指定主机名或 IP 地址,则套接字将监听所有接口。文字 IP 地址必须括在方括号中。此选项在配置文件或命令行中都是必需的。