我有一个邮件服务器,可以很好地配置 SPF、DKIM 和反向 DNS。我可以使用以下方式向 Outlook.com 发送电子邮件:
echo "This is only a test" | mail username@outlook.com
当我尝试使用同一服务器通过 PHP 发送电子邮件时,会出现问题:
$header .= "Return-Path: Some User <mailsender@mydomain.com>\r\n";
$header .= "From: Some User <mailsender@mydomain.com>\r\n";
$header .= "Content-Type: text/plain; charset=iso-8859-1\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "User-Agent: Some User Mail Sender\r\n";
$header .= "Content-Transfer-Encoding: 7bit\r\n";
mail("usernama@outlook.com","My title", "Message body", $header);
我尝试使用 appmaildev.com 验证我的消息,报告显示:
DKIM result: fail (wrong body hash: <*** body hash ***>)
即使出现此错误,Outlook.com 仍表示它通过了 DKIM 验证,但 PHP 邮件功能发送的所有邮件都会进入垃圾文件夹。以下是通过 Bash 和 PHP 直接发送的消息示例:http: //pastebin.com/ndXJszic
谁能帮我?
谢谢。
编辑从标头中 删除\r后,DKIM 正文哈希错误消失了。但是我仍然无法向 Outlook 发送电子邮件...