加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 16:46:27 所属栏目:PHP教程 来源:网络整理
导读:我的gmail / hotmail过滤来自我服务器的垃圾邮件问题.垃圾邮件刺客分数很低,所以我知道我的IP不在任何黑名单上,或者这意味着它是gmail / hotmail用来阻止电子邮件通过的过滤. 我做了一些研究并读到使用DKIM可能会解决我遇到的问题.我继续在我的服务器上启用D
我的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的默认行为覆盖),然后再签名.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读