我设置了一个 postfix/dovecot 服务器。我的 ISP 封锁了出站端口 25,因此我使用 SMTP 中继 (mailjet)。
当我向 Gmail 发送电子邮件时,它最终被归入“促销”类别,实际上是垃圾邮件文件夹。我该如何解决这个问题?
仔细检查显示谷歌报告“DKIM:域名 example.com 为‘FAIL’”。
在本文中,我们将应用这些替换:
- 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) [email protected] header.s=mailjet header.b="mF/BgIdk";
dkim=neutral (body hash did not verify) [email protected] header.s=mailjet header.b=YabQjQKu;
spf=pass (google.com: domain of [email protected] designates XX.YY.ZZ.AA as permitted sender) [email protected]
Return-Path: <[email protected]>
Received: from o137.p9.mailjet.com (o137.p9.mailjet.com. [XX.YY.ZZ.AA])
Received-SPF: pass (google.com: domain of [email protected] 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) [email protected] header.s=mailjet header.b="mF/BgIdk";
dkim=neutral (body hash did not verify) [email protected] header.s=mailjet header.b=YabQjQKu;
spf=pass (google.com: domain of [email protected] designates XX.YY.ZZ.AA as permitted sender) [email protected]
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; q=dns/txt;
d=example.com; [email protected]; s=mailjet;
...
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; q=dns/txt;
d=bnc3.mailjet.com; s=mailjet;
...
Return-Path: <[email protected]>
From: Stewart <[email protected]>
我一直在关注一个奇妙的设置指南。有一个关于创建 DKIM/SPF 记录,但我忽略了这一点,因为我遵循了 SMTP 中继的建议。我应该遵循本指南并为我的域和我的 SMTP 中继添加 SPF/DKIM 记录,还是只应为我的 SMTP 中继添加记录?也就是说,这样做有意义吗?default._domainkey.example.com
和 mailjet._domainkey.example.com
记录?
答案1
问题解决了。这与我的 SMTP 中继或 Postfix 服务器无关。我可能是世界上唯一遇到此问题的人,但万一不是,我希望其他人可以从这个答案中受益。
我的电子邮件在电子邮件客户端中使用 PGP 签名进行签名。不知何故附加 PGP 签名破坏了 DKIM 对正文进行哈希处理的方式。如果我没有在电子邮件客户端中对我的电子邮件进行签名,则 DKIM 是有效的。
我不知道这是否特定于我的设置,但我已经向 SMTP 中继提交了错误报告。