我想为所有外发电子邮件设置使用 DKIM 的自动签名。这是一个虚拟专用服务器,托管一个网站。我尝试了很多关于如何实现 dkim 电子邮件签名的教程,但当我发送电子邮件时,与 dkim 相关的任何内容甚至都不会显示在系统日志中。服务器是 Ubuntu 14.04。
后缀:
milter_default_action = accept
milter_protocol = 2
smtpd_milters = inet:localhost:8892
non_smtpd_milters = inet:localhost:8892
opendkim.conf:
Syslog yes
LogWhy yes
LogResults yes
Mode s
Domain *
KeyFile /etc/opendkim/email.key
Selector email
Socket inet:8892@localhost
当我启动 opendkim 时显示的所有内容
Jan 15 11:57:55 xxx opendkim[19947]: OpenDKIM Filter: mi_stop=1
Jan 15 11:57:55 xxx opendkim[19947]: OpenDKIM Filter v2.9.1 terminating with status 0, errno = 0
Jan 15 11:57:55 xxx opendkim[19999]: OpenDKIM Filter v2.9.1 starting (args: -x /etc/opendkim.conf -u opendkim -P /var/run/opendkim/opendkim.pid)
这是 Postfix 重启并发送邮件后发生的情况:
Jan 15 15:55:52 example postfix/master[21899]: daemon started -- version 2.11.0, configuration /etc/postfix
Jan 15 15:55:54 example named[491]: client 82.146.43.2#14622 (example.ru): query (cache) 'example.ru/SOA/IN' denied
Jan 15 15:56:00 example opendkim[21598]: OpenDKIM Filter: mi_stop=1
Jan 15 15:56:00 example opendkim[21598]: OpenDKIM Filter v2.9.1 terminating with status 0, errno = 0
Jan 15 15:56:00 example opendkim: "X-Header" deprecated; use "SoftwareHeader" instead
Jan 15 15:56:00 example opendkim[21912]: OpenDKIM Filter v2.9.1 starting (args: -x /etc/opendkim.conf -u opendkim -P /var/run/opendkim/opendkim.pid)
Jan 15 15:56:17 example postfix/pickup[21902]: 73C043C7C: uid=33 from=<[email protected]>
Jan 15 15:56:17 example postfix/cleanup[21922]: 73C043C7C: message-id=<[email protected]>
Jan 15 15:56:17 example postfix/qmgr[21903]: 73C043C7C: from=<[email protected]>, size=954, nrcpt=1 (queue active)
Jan 15 15:56:18 example postfix/smtp[21924]: 73C043C7C: to=<[email protected]>, relay=mail-tester.com[37.59.112.152]:25, delay=0.6, delays=0.02/0/0.44/0.13, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 0366B1241E58)
Jan 15 15:56:18 example postfix/qmgr[21903]: 73C043C7C: removed
答案1
修复了。我不知道怎么做,但我已经无药剂在“pickup”服务中设置/etc/postfix/master.cf
。它阻止postfix将电子邮件发送到milter。
答案2
我发现cat /var/run/opendkim/opendkim.pid = 3091
。
Socket inet:3091@localhost
我在 opendkim.conf 中插入了该行。
我补充道
smtpd_milters = inet:localhost:3091
non_smtpd_milters = inet:localhost:3091.
最后,opendkim 正在与 postfix 通信。
我检查过netstat -apn | grep opendkim
:
tcp 0 0 127.0.0.1:3091 0.0.0.0:* LISTEN 593/opendkim
unix 3 [ ] STREAM CONNECTED 19033 593/opendkim
unix 3 [ ] STREAM CONNECTED 19034 593/opendkim
unix 3 [ ] STREAM CONNECTED 19036 593/opendkim
unix 3 [ ] STREAM CONNECTED 19035 593/opendkim
unix 2 [ ] DGRAM 18155 593/opendkim
启动并运行!