我的网络托管服务器具有 Postfix 设置和运行功能。该后缀也在STARTTLS
端口 587 上打开,供授权用户(现在只有我、我自己和我)在使用 DKIM 签名后向任何域发送电子邮件。
我通过 Outlook 发送的每封电子邮件都可以验证自己。所有 DMARC 报告均未显示错误。问题是当 Web 应用程序通过该 Postfix 发送电子邮件时。
由于我使用 Apache 的mod-itk
PHP 托管,所有电子邮件都由 Postfix 生成[email protected]
并通过标准方式提交给 Postfix(sendmail???)。
但是这样他们就没有 DKIM 签名。考虑以下:
$ mail [email protected]
Subject: Test DKIM
Hello
.
EOT
端口 25 响应:
----------------------------------------------------------
DomainKeys check details:
----------------------------------------------------------
Result: neutral (message not signed)
ID(s) verified: [email protected]
DNS record(s):
----------------------------------------------------------
DKIM check details:
----------------------------------------------------------
Result: neutral (message not signed)
ID(s) verified:
Postfix 日志不显示dkimproxy
交互。
在发布我的配置之前,让我们重复一下情况并提出问题。
目前,当我通过端口 587 上的 SMTP/TLS 发送电子邮件时,它会获得 DKIM 签名。当服务器上的进程使用mail
命令或 PHP 内置邮件功能发送电子邮件时,邮件不会被 dkimproxy 签名。
问题是:如何对来自服务器本身的每封电子邮件进行签名dkimproxy
?
配置粘贴到http://pastebin.ca/2374363。请注意,我暂时只dkimproxy.out
启用了
您仅将 dkim SIGNING 添加到提交端口。
postfix处理smtp submission separatly submission from pickup(sendmail命令提交的邮件都是通过pickup进入postfix)
在 postfix 中 你应该在 main.cf 中使用 dkim milter
第一行是SMTP提交(587端口)
第二行是通过取件进入的邮件
需要注意的一件事是,由 postfix 内部生成的退回邮件和 NDR 报告不会经过 DKIM 签名
参考http://www.postfix.org/MILTER_README.html