自建Postfix邮件服务器与Gmail互发故障及PTR记录问题排查求助
我刚按照Ubuntu社区的基础配置指南搭建了一套基于Postfix+POP3+IMAP的邮件服务器,目前本地用户之间收发邮件完全正常,用本地机器的mail命令和telnet也能成功往远程服务器发信,服务器都能正确接收。但和Gmail互发邮件时遇到了一堆问题,折腾好几个小时都没解决,想请大家帮忙看看:
一、具体故障现象
1. 服务器→Gmail方向
所有从远程服务器发给Gmail的邮件都石沉大海:既没出现在Gmail的垃圾箱,服务器这边也没有任何退信通知,完全不知道邮件去哪了。
2. Gmail→服务器方向
一开始总是收到550 Relay Not Permitted错误,中间莫名其妙成功收到过一封Gmail邮件,但之后又回到了550错误的状态,再也收不到了。
3. MX记录不一致问题
我已经把域名的MX记录改成了自己的域名,优先级设为1,并且删除了域名服务商原来默认的那些优先级30的记录。在本地执行host -t mx mydomain能看到正确的新记录,但在邮件服务器上执行同样的命令,却只显示原来的默认记录,看不到我更新后的内容。不确定这个会不会和上面的收发故障有关?
二、我已经尝试过的解决办法
1. 防火墙端口配置
已经开放了邮件服务所需的所有端口:
- 25端口(SMTP)
- 110端口(POP)
- 995端口(POPS)
- 143端口(IMAP)
- 993端口(IMAPS)
2. 黑名单检查
用DNS检查工具查过域名的黑名单情况,只有一个叫dnsbl-3.uceprotect.net的列表标记了我的域名,但之前用另一个工具查是全绿的。而且我有时候能成功发信,所以暂时觉得这个可能不是主要问题。
3. 第三方邮件测试
用两个在线SMTP测试服务发信,服务器都能正确收到邮件,说明服务器的接收功能在某些场景下是正常的。
4. 开放中继排查
看到过关于“开放中继陷阱”的排查建议,不过我配置Postfix的时候已经添加了自己的域名,而且还成功收到过一封Gmail邮件,所以应该不是开放中继的问题。
三、更新:新增SPF/DKIM后的状态
后来查日志发现Gmail要求必须通过SPF和DKIM校验,我赶紧加上了这两项配置,现在Gmail往服务器发信已经完全正常了!
但服务器发往Gmail的邮件还是收不到,现在日志里出现了明确的错误:
status=bounced (host gmail-smtp-in.l.google.com said: 550-5.7.25 The IP address sending this message does not have a PTR record setup, or the corresponding forward DNS entry does not point to the sending IP.
As a policy, Gmail does not accept messages from IPs with missing PTR records.
我查了一下相关信息,感觉PTR记录好像得找主机服务商(我用的是IONOS的Ubuntu服务器)来配置,自己没法独立操作?想确认一下是不是必须找服务商解决,有没有其他可能的原因?
备注:内容来源于stack exchange,提问作者user10709800

