微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

电子邮件 – DKIM签名在使用PHP发送邮件时无法验证

我的gmail / hotmail过滤来自我服务器的垃圾邮件问题.垃圾邮件刺客分数很低,所以我知道我的IP不在任何黑名单上,或者这意味着它是gmail / hotmail用来阻止电子邮件通过的过滤.

我做了一些研究并读到使用DKIM可能会解决我遇到的问题.我继续在我的服务器上启用DKIM.现在,当我使用我的电子邮件客户端发送电子邮件时,位于此处的工具(http://www.brandonchecketts.com/emailtest.php)将DKIM签名报告为有效.

下一步是在我的PHP邮件中实现DKIM签名.所以我继续使用这里的DKIM类(http://sourceforge.net/projects/dkim-class-PHP/),这是PHPMailer的衍生产品.

但是,当我现在发送电子邮件时,尽管包含DKIM签名,但我从验证工具中收到一个奇怪的错误.

result = fail
Details: message has been altered

您可以在此处查看完整报告:http://www.brandonchecketts.com/emailtest.php?email=K86KTXpMbl%40www.brandonchecketts.com

感谢您的帮助,我拼命想让这个工作起来,并且已经在墙上撞了好几个小时了.

解决方法:

在这里给出了答案:Setting up DomainKeys/DKIM in a PHP-based SMTP client

基本上您需要确保的是,您提供MTA添加到您的外发电子邮件中的所有标头.由于不同的系统配置不同,因此没有一种尺寸适合所有解决方案.

查看签名失败的消息源(并给出消息已更改错误)以确定添加了哪些标头.通常,您的MTA将添加Message-ID和Date标头(如果缺少日期标题,也可能导致垃圾邮件刺客评分较低,因此您也可以包括它!).

一个常见的错误是您在签署邮件后自己更改邮件,因此请确保在签署邮件后未对代码进行任何修改.

在确定添加了哪些标头之后,您应该自己添加这些标头(因此将其添加的MTA的认行为覆盖),然后再签名.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐