Postfix 不发送电子邮件到正确的 IP 地址

Postfix 不发送电子邮件到正确的 IP 地址

我在 Gitlab 的 Ubuntu 16.04 服务器上运行 Postfix,并且可以将电子邮件发送到除我的公司域之外的大多数域。据我所知,Postfix 从未尝试过我域下的邮件服务器 IP 地址。对于这个例子,假设我的电子邮件是[电子邮件受保护]邮件服务器地址为11.101.1.40。 Postfix 邮件日志报告:

Jan  5 10:05:10 linux-dev postfix/smtp[2058]: connect to company.com[11.202.17.1]:25: Connection timed out
Jan  5 10:05:40 linux-dev postfix/smtp[2058]: connect to company.com[11.101.1.46]:25: Connection timed out
Jan  5 10:06:10 linux-dev postfix/smtp[2058]: connect to company.com[11.101.56.8]:25: Connection timed out

所以它甚至没有尝试位于 11.101.1.40 的实际邮件服务器。我四处搜索,看到了编辑 /etc/hosts 文件以手动将域映射到正确 IP 的建议。所以在我的主机文件中,我添加了:

11.101.1.40    company.com

然后为了让 Postfix 使用主机文件以及 DNS 服务器,我将其添加到 /etc/postfix/main.cf 中:

smtp_host_lookup=dns, native

重新加载postfix,重新启动服务器等。Postfix仍然没有尝试邮件服务器IP。

所以,我将 /etc/postfix/main.cf 更改为

smtp_host_lookup=native

它有效!

Jan  5 10:22:27 linux-dev postfix/smtp[1317]: 9DBC61A405FB: to=<[email protected]>, relay=company.com[11.101.1.40]:25, delay=90665, delays=90664/0.04/0.51/0.26, dsn=2.0.0, status=sent (250 Message accepted for delivery)

好吧,也许我只需要更改 smtp_host_lookup 以便它首先检查本机:

smtp_host_lookup=native, dns

没有运气。它仍然不会尝试 11.101.1.40。关于我缺少的配置有什么想法吗?我希望能够将电子邮件发送到该邮件服务器和其他域。感谢您的任何帮助!

答案1

我在通信中遇到的大多数后缀问题,我都用这些设置修复了。

inet_protocols=ipv4
inet_interfaces = all
myhostname = mail.dom.com
smtpd_banner = $myhostname
mydomain = dom.com
myorigin = $mydomain
mydestination = localhost
mynetworks = 127.0.0.0/8

也在 /etc/hosts 中

127.0.0.1       localhost
127.0.0.1       mail.dom.com alias
192.168.1.100   mail.dom.com  alias
99.222.33.44    mail.dom.com  alias  # YOUR ISP assigned IP

另请确保选择 inet_interfaces = all,以便 postfix 可以侦听您在 /etc/hosts 中设置的所有域

相关内容