gpt4 book ai didi

phpmailer - 正文已更改 DKIM 验证失败

转载 作者:行者123 更新时间:2023-12-02 05:07:48 34 4
gpt4 key购买 nike

我正在使用 PHPMailer 发送邮件,并希望在邮件中附加 DKIM 签名。我在申请之前遇到了问题this patch 。现在我可以将成功签名的邮件发送到 isnotspam.com。

我已成功签署正文少于 1500 个字符的消息。如果增加字符数(即使使用简单的 a)签名也会失败。

我已正确设置 TXT 域记录。

如果我使用this service,我猜这是因为电子邮件正文的原因我总是收到“错误的正文哈希”错误。

电子邮件 header 中的签名如下所示:

DKIM-Signature: v=1; a=rsa-sha1; q=dns/txt; l=641; s=mymail;
t=1354285494; c=relaxed/simple;
h=From:To:Subject;
d=revaxarts.com;
z=From:=20"WP=203.4"=20<info@rvaxarts.com>
|To:=test@rvaxarts.com
|Subject:=20DKIM=20Test;
bh=Sx1Rj3c65v2Hk0fmg2j5XNIDi14=;
b=n4OGAwl3i[...]AOkfUglp6iiYZ6B2M3ZKlGW5gDfE=

最佳答案

我在这里遇到了同样的问题,因为 Perl 脚本和错误的正文哈希值。

我用过\n用于换行(例如标题行的末尾)。但你必须使用\r\n 。这为我解决了这个问题!

编辑:感谢 ArtemGr 的评论和以下信息的 url(从 http://permalink.gmane.org/gmane.mail.postfix.user/223780 复制以防止链接失效):

损坏的一个可能原因是发送应用程序生成在某些方面与 RFC 5322 或 RFC 5321 不兼容的电子邮件。

  • 行数超过 990。

    Postfix SMTP 客户端将行长度保持在 SMTP 以下协议(protocol)限制为 1000 字节,包括 .自从这个改变签名后发生,肯定会破坏DKIM签名。

    为了避免长线损坏问题,请以可打印的格式发送邮件或 base64 编码,行最多 80 个字符长。

  • 行尾格式错误。

    SMTP 需要行结尾,并且不允许或 任何其他上下文中的字符。

    Postfix sendmail 命令需要 UNIX 风格 <LF> [换行] 行结束符。它还接受以 <CR><LF> 结尾的行。 [回车换行] 但你不能使用在同一消息中混合行尾样式。

等等。如果您想确保 DKIM 签名继续存在,您需要发送符合 RFC 5322 或 RFC 5321 协议(protocol)规范的电子邮件;

关于phpmailer - 正文已更改 DKIM 验证失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13649129/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com