AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1035975
Accepted
dan360
dan360
Asked: 2020-10-02 03:26:13 +0800 CST2020-10-02 03:26:13 +0800 CST 2020-10-02 03:26:13 +0800 CST

间歇性 DKIM 故障

  • 772

我们有几个电子邮件服务器通过 PostFix 发送合法电子邮件并使用 openDKIM。

最近我们有一些接收者声称无法验证 DKIM 记录,因此我们尝试了各种工具,例如 mail-tester.com、isnotspam.com 等,并看到相同的结果,一些电子邮件未通过 DKIM 检查,而另一些则通过了.

同一台服务器可以发送一封带有 DKIM 通行证的电子邮件,它可以发送另一封电子邮件并且 DKIM 失败。似乎是电子邮件本身决定了 DKIM 是否会通过。我每次都可以用相同的电子邮件复制它。

我无法理解这种行为,并想知道是否有人见过类似的问题。电子邮件本身如何导致 DKIM 失败?

postfix dkim opendkim
  • 1 1 个回答
  • 500 Views

1 个回答

  • Voted
  1. Best Answer
    anx
    2020-10-02T03:52:40+08:002020-10-02T03:52:40+08:00

    一、排除与实际签名无关的问题

    1. 检查 AR 标头:Authentication-Results: host; dkim=fail意味着签名失败,但Authentication-Results: host; dkim=permerror可能只是意味着收件人无法获取您的密钥。
    2. 检查Received:与收件人无关的最上面的标题,如果不是您,您正在查看转发的邮件。

    然后,确定是谁导致签名中断

    在提交时获取邮件的副本(例如存储在 IMAP Sent 文件夹中),在收到原始邮件时获取原始邮件的副本,然后逐字节进行比较。

    如果收件人无法将完整的标头转发给您,您可以通过将问题邮寄到同一提供商的自己的邮箱来重现问题,这样您就可以查看完整的标头。

    a)您在签名后修改自己的邮件,使签名无效

    1. 您是否发送无效邮件,并且您的邮件系统正在为您解决一些问题,例如添加缺少的Date标题?修复/替换不合规的 MUA。

    2. 您用于外发垃圾邮件过滤的某些软件是否会修改您正在签名的标头?

    在任何此类修改之后,确保邮件处理软件的顺序将签名放在最后。

    b) 收件人在验证您的签名之前修改了您的邮件,因此无法验证您的签名

    我在野外看到的例子:

    1. 超长的线条被重新折叠
    • 在发送之前应用适当的折叠 - 尽管使用relaxes DKIM 规范化就足够了。
    1. 一些接受收件人地址不区分大小写的软件(通常是 Microsoft)将收件人的字母大小写转换为其规范形式
    • 使用规范(通常是小写)拼写更新您的通讯录!
    1. 收件人邮件服务器将其接收到的国际化域名 (IDN) 编码为 UTF-8
    • 这应该很明显,因为它只会发生在标头中某处的特定域中。以 idna 编码 ( ) 发送非 ASCII 域xn--..!
    1. 您签署了一个经常被收件人合法修改的标头
    • 不要签署诸如Received或之类的标题X-Spam-Status!

    请注意,如果您的邮件服务器无法应用建议的转换,您仍然可以拒绝您期望失败的邮件 - 然后发件人可以尝试使用不同的邮件客户端或收件人地址(或者至少注意到有问题)。

    • 1

相关问题

  • Postfix 在特定端口上接受邮件

  • 让 Postfix 以两种方式处理垃圾邮件

  • Postfix 或 exim:自动/程序化和转发电子邮件设置

  • 后缀电子邮件地址

  • 什么是最好的开源电子邮件解决方案包

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve