这个问题类似于 Mozilla 论坛中的以下问题。但是,这个问题的答案并没有解决我所看到的问题。
Mozilla 论坛中的问题:https://support.mozilla.org/lt/questions/1369698
换句话说,只有当此类邮件是通过 Thunderbird 发送时,我才能让 Google 接受发往 gmail.com 地址的邮件。使用非 Thunderbird 客户端从运行 Thunderbird 的同一台机器发送到具有相同发件人地址的相同 gmail.com 地址的消息通过相同的 SMTP 服务器发送出去总是没有问题。
我的情况有点复杂。为了描述发生了什么,我将使用以下域名:
localmachine-example.com—— 运行 Thunderbird 的我的 ubuntu-20.0.4 台式机
postfix-example.com—— 运行 postfix-3.5.18 的我的 debian-11 电子邮件服务器机器
当我使用 Thunderbird 时,我将其配置为使用此主机和端口通过 SMTP 发送外发电子邮件:
postfix-example.com/port=587
postfix-example.com SMTP 服务器处理的所有域都有正确的 SPF、DKIM 和 DMARC 记录,每当我通过各种在线域验证服务查询它们的有效性时,它们总是显示为正确的。
对于除 gmail.com 地址之外的所有电子邮件目的地,当我从运行在 localmachine-example.com 上的 Thunderbird 发送电子邮件时,无论发送地址是什么,这些邮件都会转到我的 postfix 服务器,然后成功地将它们路由到目的地。
但是,如果目标地址具体是 gmail.com 地址,Google 会返回邮件并显示以下消息。假设我将电子邮件发送到 [email protected]。这是返回的消息:
Jun 11 20:29:12 postfix-example postfix/smtp[1088941]: 81AC812C554:to=<[email protected]>, relay=gmail-smtp-in.l.google.com[2607:f8b0:4002:c1b::1b]:25, delay=0.46, delays=0.16/0.01/0.02/0.25, dsn=5.7.25, status=bounced (host gmail-smtp-in.l.google.com[2607:f8b0:4002:c1b::1b] said: 550-5.7.25 [2600:3c02::f03c:93ff:febc:dd9e] The IP address sending this message 550-5.7.25 does not have a PTR record setup, or the corresponding forward DNS 550-5.7.25 entry does not point to the sending IP. As a policy, Gmail does not 550-5.7.25 accept messages from IPs with missing PTR records. Please visit 550-5.7.25 https://support.google.com/mail/answer/81126#ip-practices for more 550 5.7.25 information. g200-20020a0dddd1000000b0056d0485d928si2677570ywe.362 - gsmtp (in reply to end of DATA command)
除了 gmail.com 地址之外,没有任何电子邮件目的地无法接受通过 Thunderbird 发送的类似邮件。
并请仔细注意以下事项:
如果我不使用 Thunderbird,而是使用 emacs“Wanderlust”电子邮件客户端将完全相同的消息从完全相同的 localmachine-example.com 机器发送到完全相同的 [email protected] 地址,并通过完全相同的路由postfix-example.com/port=587 SMTP 服务器,它毫无问题地到达 gmail.com 目的地。
换句话说 ...
(1) Thunderbird 客户端和 emacs“Wanderlust”电子邮件客户端都在同一台 localmachine-example.com 主机上运行。
(2) Thunderbird 客户端和 emacs “Wanderlust” 电子邮件客户端正在发送具有相同发件人地址的消息。
(3) Thunderbird 客户端和 emacs“Wanderlust”电子邮件客户端都在发送具有相同 [email protected] 收件人地址的邮件。
(4) Thunderbird客户端和emacs“Wanderlust”邮件客户端都配置为通过同一个SMTP服务器发送外发邮件:postfix-example.com/port=587
(5) 所有通过 emacs “Wanderlust” 电子邮件客户端发送的电子邮件总是毫无问题地到达 [email protected] 地址。
(6) 但是,所有通过 Thunderbird 客户端发送到 gmail.com 地址的电子邮件总是被退回,并显示我在上面发布的错误消息。
当我从我的 localmachine-example.com 主机发送到 gmail.com 地址时,有谁知道我可以做些什么来配置 Thunderbird 不会导致这种错误?
此外,通过 Seamonkey 而不是 Thunderbird 发送时,我得到了完全相同的行为。
非常感谢你提前。
该错误不是关于 SPF 的抱怨,而是告诉您缺少 的 PTR 记录
2600:3c02::f03c:93ff:febc:dd9e
,并且从这里看来它没有。所以谷歌试图对 IP 进行反向 DNS 查找,并期望得到指向邮件服务器的 A / AAAA 记录的结果。大概那是您的 Postfix 服务器?它通常使用 IPv6 发送还是其他电子邮件通过 IPv4 发送并且 PTR 尚未设置为 IPv6?Postfix 中的某些设置导致您的 Thunderbird 改为通过 IPv6 发送?或者该 IP 是否属于您运行 Thunderbird 的机器,并且出于某种原因从该 Postfix 发送时保留该 IP 作为源而不是将其更改为自己的 IP?
事实证明,这个问题是由于 Thunderbird 的一个“特性”(哈哈!)。
我找到了答案,并在这里进行了讨论: http://forums.mozillazine.org/viewtopic.php? f=39&t=3110324&p=14956991#p14956991
我通过在 Thunderbird 中为 Thunderbird 服务的每个电子邮件地址创建一个单独的、唯一的 SMTP 服务器条目来解决这个问题。
PS:Seamonkey 也有同样的“特性”。