sendmail无法传送到gmail-关于不符合PTR记录的IPv6发送准则


32

我无法从ubuntu 14.04上的全新sendmail安装向Google发送邮件。DNS记录似乎适合ip。其他事情一定是错误的。

从命令行发送邮件:

sudo sendmail -v -Am -i myname@gmail.com;

详细输出:

myname@fx1:/etc/mail$ sudo sendmail -v -Am -i myname@gmail.com;
myname@gmail.com... 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:<myname@staging.mydomain.com>
250 2.1.0 OK v1si55415385wja.21 - gsmtp
>>> RCPT To:<myname@gmail.com>
>>> 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

非常感谢您的帮助。先感谢您。


您是否检查了错误的文档?
Craig Watson

当然是。它指出必须设置ipv6 dns。我这样做了,而ipv6地址指向了域名。
梅林2015年

您的转发主机名是?
Craig Watson

不确定主机名是什么意思。2a01:4f8:212:27c8 :: 2的反向DNS设置为staging.findix.com
梅林

3
有你的问题。staging.findix.com没有指向的AAA记录2a01:4f8:212:27c8::2
Craig Watson

Answers:


17

从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
第一段不太正确;由于多个A / AAAA记录可以指向同一IP地址,因此这是不可能的。所需要的是,无论您的PTR记录指向哪个主机名,当您查找该主机名时,都应返回到原始地址。也就是说,address-> hostname-> address循环必须完整;hostname-> address-> hostname循环不能如此保证,没有人应该在意。
MadHatter在2015年

谢谢。这样就解决了问题,并从终端发送了消息。
merlin

2
在我看来,您回答的是“为什么”,而不是“如何解决”。我个人没有足够的DNS知识来解答这个问题。
鲍勃

1
我必须将Google错误消息中的IPv6地址的AAA​​A记录(在您的情况下为2a01:4f8:212:27c8 :: 2)添加到hostname命令返回的域名的DNS服务器中。经过一段时间(第二天的TTL到期),我可以使用以下命令将电子邮件发送到我的gmal帐户:(sendmail -v -Am -i <my_gmal_account>@gmail.com;然后按Ctrl + D)。
Csongor Halmai,

30
  1. 检查当前协议:

    postconf inet_protocols

    net_protocols =全部

  2. 编辑cf文件(如果返回) all

    grep 'inet_protocols' /etc/postfix/main.cf

    inet_protocols = ipv4

  3. 重新开始

    service postfix restart

  4. 再检查一次

    postconf inet_protocols

    inet_protocols = ipv4


3
恕我直言,一种比接受的解决方案简单得多的解决方案。如果您没有迫切需要使用IPv6,则可以快速解决。
Laryx Decidua

尽管另一个答案比较完整,但这比另一个答案更简单。它解决了我的问题,因为我暂时不需要IPv6。
javsmo


2

我认为Google的回应有点轻率。即使他们的“错误消息”提到了PTR,550 5.7.1还是要中继。我也在Postfix / Dovecot安装上也收到此错误,但是我通过几个步骤解决了该错误:

  1. 将IPv6 IP信息添加到邮件服务器上的ifcfg-eth0配置中
  2. 在您的DNS上添加AAAA MX记录
  3. 在邮件服务器上的postfix / main.cf中添加所有“授权发件人”的IPv6范围。

我有AT&T商业UVerse,他们不支持PTR的静态IPv6,但是在执行上述步骤后,Google停止了错误提示。我使用https://www.ultratools.com/ipv6Tools从IPv4转换为IPv6。最后,我在CentOS上的启用IPV6(用于发送和接收邮件)的网站上将所有内容汇总在一起。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.