我的网站托pipe服务器functionPostfix设置和运行。 这个后缀也在授权用户(只有我,我自己和我现在)在端口587上用STARTTLS打开,在用DKIM签名后发送邮件到任何域。
我通过Outlook发送的每封电子邮件都可以validation自己。 所有DMARC报告都不显示错误。 问题是Web应用程序通过Postfix发送电子邮件。
由于我使用Apache的mod-itk进行PHP托pipe,因此所有电子邮件均由[email protected]生成,并通过标准方式(sendmail ???)提交给Postfix。
但是这样他们就不是DKIM签名的。 考虑以下:
$ mail [email protected] Subject: Test DKIM Hello . EOT
Port25回应:
---------------------------------------------------------- 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交互。
在发布我的configuration之前,让我们重复这种情况并提出问题。
目前,当我通过端口587上的SMTP / TLS发送电子邮件时,它获得了DKIM签名。 当服务器上的进程使用mail命令或PHP内置邮件function发送邮件时,邮件不会被dkimproxy签名。
问题是:如何使用dkimproxy签署来自服务器本身的每封电子邮件?
configuration粘贴到http://pastebin.ca/2374363 。 请注意,我目前只启用了dkimproxy.out
您仅将dkim SIGNING添加到提交端口。
Postfix处理从分拣邮件分离提交(由sendmail命令submited邮件进入后缀通过皮卡)
在postfix中您应该在main.cf中使用dkim milter
smtpd_milters = inet:localhost:10027 non_smtpd_milters = inet:localhost:10027
第一行是SMTP提交(端口587)
第二行是邮件通过皮卡进入
需要注意的一点是,由postfix内部生成的退回邮件和NDR报告不会被DKIM签名