我正在设置一个新服务器,发现 Gmail 不接受来自该服务器的电子邮件。
我检查了 Exim 日志文件,发现以下内容:
Our system has detected that this\n550-5.7.1 message does not meet IPv6 sending guidelines regarding PTR records\n550-5.7.1 and authentication.
Please review\n550 5.7.1 https://support.google.com/mail/answer/81126 for more information. om7si10023450wjc.42 - gsmtp
我的服务器有 IP4 和 IPv6 IP 地址。我已为 IP4 和 IPv6 IP 地址添加了 SPF 记录。唯一的问题是我还没有 PTR 记录(如果 A 记录不指向同一台服务器,我的数据中心不允许添加 PTR 记录)。因此,当我将网站移动到新服务器时,我将稍后添加 PTR 记录。
我的问题:是不是因为我没有 PTR 记录,Gmail 就不接受邮件了?所有类似情况的电子邮件提供商都会将邮件放入垃圾邮件或批量邮件文件夹。Gmail 根本不接受邮件?
答案1
以下是谷歌的帮助页面:
IPv6 的其他准则
- 发件 IP 必须具有 PTR 记录(即发件 IP 的反向 DNS),并且应与通过 PTR 记录中指定的主机名的正向 DNS 解析获得的 IP 匹配。否则,邮件将被标记为垃圾邮件或可能被拒绝。
- 发送域应通过 SPF 检查或 DKIM 检查。否则,邮件可能会被标记为垃圾邮件。
因此,是的,如果您使用 IPv6 将邮件发送给 Google,则必须有一个与发送系统 IPv6 地址匹配的 PTR。
如果您确实无法为您的 IPv6 地址创建 PTR(这对我来说似乎很奇怪),解决方案是完全禁用 IPv6 或将您的主服务器设置为首选 IPv4 进行传出连接。如果您这样做,请不要忘记更改 SPF 记录。
答案2
一个临时的解决方法(即这不是一个永久的解决方案)是在 exim4 中禁用 ipv6。
在文件:/etc/exim4/conf.d/main/02_exim4-config_options 添加以下行:
disable_ipv6=true
然后运行命令
update-exim4.conf
并重启服务
service exim4 restart
瞧,exim4 没有 ipv6。
答案3
嗯,是 (https://support.google.com/mail/answer/81126):
Additional guidelines for IPv6
The sending IP must have a PTR record (i.e., a reverse DNS of the sending IP)
and it should match the IP obtained via the forward DNS resolution of the
hostname specified in the PTR record. Otherwise, mail will be marked as spam
or possibly rejected.
如果您尚无法设置 PTR 记录,最好禁用通过 IPv6 发送邮件,直到您可以设置为止。
答案4
我最近一直在努力解决这个问题。我以为我一定是使用了拆分配置,因为我使用的是 Ubuntu,但安装exim
是由我的 VPS 提供商预先安装的,而且我不是使用拆分配置。我使用其他 MTA(在不同的 VPS 上),只有 exim 在 IPv6 和 Gmail 上遇到了这个问题。
user96622 的回答 /etc/exim4/conf.d/main/02_exim4-config_options
对我来说属于main
以下部分/etc/exim4/exim4.conf.template
:
disable_ipv6 = true
我让 exim 重新读取了这个配置:
:~$ sudo update-exim4.conf
我检查了一下,确实有:
:~$ sudo exim -bP disable_ipv6
disable_ipv6
这足以让我的电子邮件被 Gmail 服务器接受。sendmail -v blahblahblah