Postfix 无法解析 MX 记录

Postfix 无法解析 MX 记录

日志

to=<[email protected]>, relay=none, delay=21311, delays=21301/0.04/10/0, dsn=4.4.3, status=deferred (Host or domain name not found. Name service error for name=localdomain type=MX: Host not found

操作系统:FreeBSD

当我在 postfix 客户端上运行以下命令时,它会解析。mail.p.example.com 托管我们的 postfix 服务器,然后将电子邮件中继到 gmail smtp。

host -t MX p.example.com
p.example.com mail is handled by 10 host.p.example.com.

我将我的 postfix 配置与另一台主机上的工作配置进行比较,它们是相同的。

inet_protocols = ipv4
mynetworks_style = host
inet_interfaces = loopback-only
relayhost = $mydomain

配置内容不只是我上面粘贴的内容,还包括其他内容,但与 dns 无关。smtp_host_lookup 尚未设置(默认值 = dns)。

/var/spool/postfix 下没有任何 resolv.conf 文件。如果能提供关于 postfix 如何解析 DNS 记录的说明,我将不胜感激。

答案1

啊哈,现在问题很明显了:

relayhost = $mydomain

您已将 Postfix 配置为将所有邮件发送至$mydomain,该地址设置为localdomain

您的叙述表明您打算将邮件转发到 Gmail,因此您relayhost应该设置为合适的为此目的,请使用 Google 主机名,例如:

 relayhost = [smtp-relay.gmail.com]:25

或者

 relayhost = [smtp-relay.gmail.com]:587

如果您使用 SMTP 身份验证,则您smtp_sasl_password_maps应该指向包含您的 Gmail 凭据的文件。

答案2

hostname -f在导致问题的主机上无法解析为 FQDN。它只能解析为短名称。在 Postfix 客户端正在运行的主机上,它解析为 FQDN

主机名已在 /etc/rc.conf.d/hostname 下设置。我只需重新启动主机名服务。猜想有人通过运行命令而不是使用配置管理工具来手动设置主机名/域名。

相关内容