我为我的邮件服务器设置了以下 DNS 记录(混淆的域和 IP):
mydomain.net. 86400 IN A 109.83.50.87
mydomain.net. 86400 IN AAAA 2a00:5080:7:13::1
mydomain.net. 86400 IN MX 10 mail.mydomain.net.
mydomain.net. 86400 IN TXT "v=spf1 mx -all"
mail.mydomain.net. 86400 IN A 109.83.50.87
mail.mydomain.net. 86400 IN AAAA 2a00:5080:7:13::1
此设置通过了我在网上找到的任何 SPF 验证工具。
但是,如果我尝试向 Gmail 帐户发送邮件,并且服务器决定通过 IPv6 连接到接收方 Google SMTP,则邮件会被拒绝并出现以下退回信息:
<[email protected]>: host gmail-smtp-in.l.google.com[2a00:1450:4001:c02::1b]
said: 550-5.7.1 [2a00:5080:7:13::1 16] The sender does not meet basic
ipv6 550-5.7.1 sending guidelines of authentication and rdns resolution of
sending 550-5.7.1 ip. Please review 550 5.7.1
https://support.google.com/mail/answer/81126for more information.
o6si5388522eea.99 - gsmtp (in reply to end of DATA command)
我怀疑我的 SPF 记录有问题,但是什么问题?还有什么原因可能导致这种情况?
我还没有尝试用“ip4:xxxx.xxxx...”和“ip6:xxxx:xxx...”而不是“mx”来设置授权IP,但我不喜欢这种方式。
答案1
您的 ipv6 发送地址似乎没有 PTR 记录。根据谷歌支持页面:
IPv6 的其他准则
发件 IP 必须具有 PTR 记录(即发件 IP 的反向 DNS),并且应与通过 PTR 记录中指定的主机名的正向 DNS 解析获得的 IP 匹配。否则,邮件将被标记为垃圾邮件或可能被拒绝。
答案2
dusan.bajic 的回答是正确的,但可能会更有帮助。
87.50.83.109.in-addr.arpa。IN PTR mail.mydomain.net。1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3.1.0.0.7.0.0.0.0.8.0.5.0.0.a.2.ip6.arpa。IN PTR mail.mydomain.net。
但是这些记录不会进入您域的区域文件。鉴于您问了这个问题,我推测您不是管理网络块的人,您可能需要与之讨论反向 DNS 的人可能是您的托管提供商,或者您可以通过与您在他们那里的帐户关联的某种控制面板与他们进行设置。
要测试设置是否正确,请运行:
dig +short -x 2a00:5080:7:13::1
和:
dig +short -x 109.83.50.87
在每种情况下它都应返回您的邮件服务器的名称。