Dkim

發送後綴電子郵件時 DKIM 失敗

  • February 8, 2021

我設置了一個 postfix/dovecot 伺服器。我的 ISP 阻止了出站埠 25,所以我使用 SMTP 中繼(mailjet)。

當我向 gmail 發送電子郵件時,它最終會出現在“促銷”類別中,這實際上是垃圾郵件文件夾。我怎樣才能解決這個問題?

仔細檢查顯示Google報告“DKIM: ‘FAIL’ with domain example.com”。

在這篇文章中,這些替換被應用:

  • IP 替換為XX.YY.ZZ.AA,
  • 域替換為example.com,
  • 長任意字元串替換為...

SMTP 中繼建議設置 SPF 和 DKIM。他們提供了一些字元串來添加到我所做的 DNS TXT 記錄中。Mailjet 認為 SPF 和 DKIM 記錄看起來不錯。

字元串如下所示:

example.com                        TXT    v=spf1 include:spf.mailjet.com ?all
mailjet._domainkey.example.com     TXT    k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4...

dig example.com txt節目

$ dig example.com
...
;; ANSWER SECTION
example.com.   21600    IN   TXT   "v=spf1 include:spf.mailjet.com ?all"

這是我認為電子郵件標題中有趣的部分

ARC-Authentication-Results: i=1; mx.google.com;
      dkim=neutral (body hash did not verify) header.i=@example.com header.s=mailjet header.b="mF/BgIdk";
      dkim=neutral (body hash did not verify) header.i=@bnc3.mailjet.com header.s=mailjet header.b=YabQjQKu;
      spf=pass (google.com: domain of ....@bnc3.mailjet.com designates XX.YY.ZZ.AA as permitted sender) smtp.mailfrom=...@bnc3.mailjet.com
Return-Path: <...@bnc3.mailjet.com>
Received: from o137.p9.mailjet.com (o137.p9.mailjet.com. [XX.YY.ZZ.AA])
Received-SPF: pass (google.com: domain of ...@bnc3.mailjet.com designates XX.YY.ZZ.AA as permitted sender) client-ip=XX.YY.ZZ.AA;
Authentication-Results: mx.google.com;
      dkim=neutral (body hash did not verify) header.i=@example.com header.s=mailjet header.b="mF/BgIdk";
      dkim=neutral (body hash did not verify) header.i=@bnc3.mailjet.com header.s=mailjet header.b=YabQjQKu;
      spf=pass (google.com: domain of ...@bnc3.mailjet.com designates XX.YY.ZZ.AA as permitted sender) smtp.mailfrom=...@bnc3.mailjet.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; q=dns/txt;
 d=example.com; i=stew@example.com; s=mailjet;
 ...
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; q=dns/txt;
 d=bnc3.mailjet.com; s=mailjet;
 ...
Return-Path: <...@bnc3.mailjet.com>
From: Stewart <stew@example.com>

我一直在關註一個很棒的設置指南。有一個部分 aboput創建 DKIM/SPF 記錄,但我忽略了這一點,因為我遵循了 SMTP 中繼的建議。我應該遵循本指南並包括我的域的 SPF/DKIM 記錄以及我的 SMTP 中繼,還是應該只有我的 SMTP 中繼的記錄?default._domainkey.example.com 即擁有和 mailjet._domainkey.example.com記錄有意義嗎?

解決了這個問題。這與我的 SMTP 中繼或我的 postfix 伺服器無關。我可能是世界上唯一會遇到問題的人,但如果我不是,我希望其他人可以從這個答案中受益。

我的電子郵件在我的電子郵件客戶端中使用 PGP 簽名進行簽名。不知何故,附加 PGP 簽名破壞了 DKIM 散列正文的方式。如果我沒有在我的電子郵件客戶端中籤署我的電子郵件,那麼 DKIM 是有效的。

我不知道這是否特定於我的設置,但我已經向 SMTP 中繼送出了錯誤報告。

引用自:https://serverfault.com/questions/1052181