php - DomainKey-Signature 和 DKIM-Signature 之间有什么区别?

标签 php email smtp openssl dkim

我正在尝试使用 PHPMailer 类使用 DKIM 对电子邮件进行签名,但我无法让它工作。

当我在 gmail 上看到我的电子邮件中的 header 时,我发现该类已成功在电子邮件 header 中注入(inject) DKIM,但 gmail 根本不在乎。

问题是我查看了 linkedIn 电子邮件的 header ,我发现它们使用了 2 个 DKIM header ,DomainKey-SignatureDKIM-Signature

有什么区别?这就是 Gmail 不验证我的电子邮件的原因吗?并且您是否推荐任何替代和强大的类来在 php 上使用域 key 签署电子邮件?

谢谢

最佳答案

两者都使用公钥/私钥对电子邮件进行数字签名。两者都使用发件人 DNS 服务器中的文本文件,其中包含收件人可以用来验证签名的公钥。

Domain Keys 是第一个版本。

DKIM 是更新版本。

不同之处在于域 key 和 DKIM 如何对消息进行签名以及构建 header 。

电子邮件收件人可以实现其中之一(或两者)。如果您想涵盖所有基础,您唯一可以做的就是与两个类(class)签约。

您想要有关 DomainKeys 与 DKIM 之间差异的技术细节吗?

--戴夫

关于php - DomainKey-Signature 和 DKIM-Signature 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4313481/

相关文章:

php - 从 PHP 页面使用 GMail SMTP 服务器发送电子邮件

javascript - 折叠 JSON 字符串以在 header 变量中发送 - Mailgun

php - 使用 PHPMailer 发送电子邮件

php - 如何在 magento 中以编程方式将产品及其自定义选项信息保存到另一个表

php - 在php中格式化ajax json数据

发送电子邮件的 PHP 脚本,列出目录/子目录中发生的文件更改

php - 联系表单 - 用户姓名和电子邮件地址为 'unknown'

php - 您可以使用 PHP 的内置 Curl 函数设置要下载的最大文件大小吗?

c++ - Libcurl 不会发送 SMTP 退出命令

iis - Vista 的 IIS 实例没有 SMTP(解决方案?)