我在从 ubuntu 14.04 上新安装的 sendmail 向 google 发送邮件时遇到了问题。DNS 记录似乎对 ip 没有问题。一定是其他问题。
从命令行发送邮件:
sudo sendmail -v -Am -i [email protected];
详细输出:
myname@fx1:/etc/mail$ sudo sendmail -v -Am -i [email protected];
[email protected]... Connecting to aspmx.l.google.com. via esmtp...
220 mx.google.com ESMTP v1si55415385wja.21 - gsmtp
>>> EHLO staging.mydomain.com
250-mx.google.com at your service, [2a01:4f8:212:27c8::2]
250-SIZE 35882577
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
>>> STARTTLS
220 2.0.0 Ready to start TLS
>>> EHLO staging.mydomain.com
250-mx.google.com at your service, [2a01:4f8:212:27c8::2]
250-SIZE 35882577
250-8BITMIME
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
>>> MAIL From:<[email protected]>
250 2.1.0 OK v1si55415385wja.21 - gsmtp
>>> RCPT To:<[email protected]>
>>> DATA
250 2.1.5 OK v1si55415385wja.21 - gsmtp
354 Go ahead v1si55415385wja.21 - gsmtp
>>> .
550-5.7.1 [2a01:4f8:212:27c8::2] Our system has detected that this message does
550-5.7.1 not meet IPv6 sending guidelines regarding PTR records and
550-5.7.1 authentication. Please review
550-5.7.1 https://support.google.com/mail/?p=ipv6_authentication_error for more
550 5.7.1 information. v1si55415385wja.21 - gsmtp
myname... Connecting to local...
myname... Sent
非常感谢您的帮助。提前谢谢您。
答案1
从 Google 的角度来看,他们正在尝试验证连接到他们的 IP 地址的身份,因此他们会尝试查找PTR
的记录2a01:4f8:212:27c8::2
。
当他们将其解析为时staging.findix.com
,他们将尝试检查这是否解析回2a01:4f8:212:27c8::2
- 但事实并非如此 - 请参阅此查找结果。
反向(PTR 记录)查找
cwatson@thor:~$ nslookup 31.220.4.52
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
52.4.220.31.in-addr.arpa name = tyr.vikingserv.net.
正向(A 记录)查找
cwatson@thor:~$ nslookup tyr.vikingserv.net
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
Name: tyr.vikingserv.net
Address: 31.220.4.52
答案2
检查当前协议:
postconf inet_protocols
net_protocols = 全部
如果返回,则编辑 cf 文件
all
grep 'inet_protocols' /etc/postfix/main.cf
inet_protocols = ipv4
重新开始
service postfix restart
再次检查
postconf inet_protocols
inet_protocols = ipv4
答案3
您的 smtp 服务器主机名可能有问题。对我来说似乎就是这种情况。POstfix 不知何故向 smtp.gmail.com 发送了一个与我的 smtp 域名不相关的主机名。
答案4
我认为 Google 的回应有点不诚实。尽管他们的“错误消息”提到了 PTR,但 550 5.7.1 是关于中继的。我在安装 Postfix / Dovecot 时也遇到了这个错误,但我通过几个步骤修复了它:
- 将 IPv6 IP 信息添加到邮件服务器上的 ifcfg-eth0 配置中
- 在您的 DNS 上添加 AAAA MX 记录
- 在您的邮件服务器上的 postfix/main.cf 中添加所有“授权发件人”的 IPv6 范围。
我有 AT&T Business UVerse,他们不支持 PTR 的静态 IPv6,但执行上述步骤后,Google 不再出错。我使用了https://www.ultratools.com/ipv6Tools从 IPv4 转换为 IPv6。最后,我在我的网站上将所有内容整合成一份操作指南,网址为在 CentOS 上启用 IPV6(用于发送和接收邮件)