这个问题与 Mozilla 论坛中的以下问题类似。但是,那里给出的答案并未解决我看到的问题。
Mozilla 论坛中的问题:https://support.mozilla.org/lt/questions/1369698
换句话说,我无法让 Google 接受发送至 gmail.com 地址的邮件仅有的当这些消息通过 Thunderbird 发送时。使用非 Thunderbird 客户端从运行 Thunderbird 的同一台机器向相同的 gmail.com 地址发送具有相同发件人地址的消息通过相同的 SMTP 服务器发送始终可以毫无问题地到达。
我的情况有点复杂。为了描述情况,我将使用以下域名:
localmachine-example.com -- 我的 ubuntu-20.0.4 台式机正在运行 Thunderbird
postfix-example.com -- 我的 debian-11 电子邮件服务器机器上运行着 postfix-3.5.18
当我使用 Thunderbird 时,我将其配置为使用此主机和端口通过 SMTP 发送外发电子邮件:
postfix-example.com/port=587
postfix-example.com SMTP 服务器处理的所有域都具有正确的 SPF、DKIM 和 DMARC 记录,每当我通过各种在线域验证服务查询其有效性时,这些记录始终显示为正确的。
对于除 gmail.com 地址之外的所有电子邮件目的地,当我从在 localmachine-example.com 上运行的 Thunderbird 发送电子邮件时,无论发送地址是什么,这些消息都会发送到我的 postfix 服务器,然后该服务器会成功将它们路由到目的地。
但是,如果目标地址是 gmail.com 地址,Google 会返回以下消息。假设我将电子邮件发送给[电子邮件保护]。返回的消息如下:
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 计算机向完全相同的[电子邮件保护]地址,并通过完全相同的 postfix-example.com/port=587 SMTP 服务器路由,它会毫无问题地到达 gmail.com 目的地。
换句话说 ...
(1)Thunderbird 客户端和 emacs“Wanderlust”电子邮件客户端都在同一个 localmachine-example.com 主机上运行。
(2)Thunderbird 客户端和 emacs“Wanderlust”电子邮件客户端都使用相同的发件人地址发送消息。
(3)Thunderbird 客户端和 emacs“Wanderlust”电子邮件客户端都发送了相同的消息[电子邮件保护]收件人地址。
(4)Thunderbird 客户端和 emacs“Wanderlust”电子邮件客户端都配置为通过同一个 SMTP 服务器发送外发电子邮件:postfix-example.com/port=587
(5)通过 emacs“Wanderlust”电子邮件客户端发送的所有电子邮件始终到达[电子邮件保护]解决没有问题。
(6) 但是,通过 Thunderbird 客户端发送到 gmail.com 地址的所有电子邮件总是被退回,并出现我上面发布的错误消息。
有人知道我该如何配置 Thunderbird,以便当我从 localmachine-example.com 主机向 gmail.com 地址发送时不会导致这种错误吗?
此外,当我通过 Seamonkey 而不是 Thunderbird 发送时,我得到了完全相同的行为。
提前非常感谢您。
答案1
该错误不是抱怨 SPF,而是告诉您缺少 PTR 记录2600:3c02::f03c:93ff:febc:dd9e
,从这里看来它没有。因此,Google 正在尝试对 IP 进行反向 DNS 查找,并期望得到指向邮件服务器的 A / AAAA 记录的结果。
大概这就是您的 Postfix 服务器吧?它通常使用 IPv6 发送邮件吗?还是其他邮件通过 IPv4 发送,而 PTR 尚未针对 IPv6 设置?Postfix 中的某些设置导致您的 Thunderbird 改为通过 IPv6 发送?或者该 IP 属于您运行 Thunderbird 的机器,出于某种原因,从该机器发送邮件时,Postfix 会保留该 IP 作为源,而不是将其更改为自己的 IP?
答案2
事实证明,这个问题是由于 Thunderbird 的一个“功能”(哈哈!)造成的。
我找到了答案,并在这里讨论: http://forums.mozillazine.org/viewtopic.php?f=39&t=3110324&p=14956991#p14956991
我通过在 Thunderbird 中为 Thunderbird 服务的每个电子邮件地址创建一个单独的、唯一的 SMTP 服务器条目来解决该问题。
附言:Seamonkey 也具有相同的“功能”。