php - swift 邮件程序中的 DKIM 签名

标签 php swiftmailer dkim

我正在尝试使用 swift 邮件程序设置 DKIM header 。 问题是当我检查 Gmail 中的电子邮件时,DKIM 状态为“FAIL”。 根据https://mxtoolbox.com和其他一些工具一样,DKIM 的 TXT 记录是正确的。 SPF 和 DMARC 记录没问题(即使是 Gmail)。

这是我设置

的代码部分
$privateKey = file_get_contents('/path/to/the/private.key');
$domainName = 'mydomain.name';
$selector = 'default';
$signer = new Swift_Signers_DKIMSigner($privateKey, $domainName, $selector);

$swift_message = Swift_SignedMessage::newInstance();
$swift_message->attachSigner($signer);

有什么想法吗?

最佳答案

事实证明,我需要忽略“Return-Path” header 和我在执行 DKIM 签名时添加的一个自定义 header

$signer->ignoreHeader('MyTrackingID');
$signer->ignoreHeader('Return-Path');

这里有很多关于该主题的有用信息:

https://help.returnpath.com/hc/en-us/articles/222438487-DKIM-signature-header-detail

关于php - swift 邮件程序中的 DKIM 签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52408023/

相关文章:

email - 如何通过 Amazon SES 最大限度地提高可交付性? DKIM、SPF、发件人 ID 还是全部?

email - From header 中的 Thunderbird 图标

php - SQL查询难度

php - php 中 getimagesize() 的有效替代方法

php - laravel 在 gmail 无法正常工作的服务器上发送邮件

Symfony 1.4 邮件程序中的电子邮件正文?

Php - 在 rewriteRule 中允许空格

php - 使用不同的代码接收环境

php - 使用 php、gmail 和 swiftmailer 发送电子邮件会导致 SSL 相关错误

email - Exim 的 DKIM 签名不会在 Microsoft 服务器(outlook、hotmail)上验证*仅*