Postfix 问题:连接超时

Postfix 问题:连接超时

从Roundcube仪表板中可以看到消息发送成功。

然而,当我检查到/var/log/mail.log,它显示如下: https://pasteid.fledix.com/5mat

它甚至没有收到其他电子邮件的消息。

  • 我去了主机名DNS客户端网络配置并将 DNS 服务器更改为127.0.0.18.8.8.8、 和8.8.4.4。 (它只有一个:那就是我的专用IP)

  • 我重新启动了saslauthdpostfix几次。

  • 我将 Dovecot 服务器的 TLS 更改为默认值。

  • 我完全是门外汉。

让我印象深刻的一件事是,当我登录 Webmin 面板时,系统主机名显示为,其中是我的专用 IP。在其他 Webmin 安装中,我看到它显示为.my chosen hostname (xxx.xxx.xxx.xx)xxx.xxx.xxx.xxxhostname (127.0.1.1)

有人可以帮我吗?

答案1

在考虑在系统上安装和配置 Postfix 或任何电子邮件服务器之前,最好测试一下您的系统(云提供商上的 VPS 或家里的机器)是否具有出站功能TCP 端口 25 (SMTP)连接性。

电子邮件服务器需要连接到其他电子邮件服务器的 TCP 端口 25 才能发送出站电子邮件。同样,其他电子邮件服务器需要连接到您服务器的 TCP 端口 25,以将电子邮件发送到您的服务器。

一个简单的测试是使用 SSH 或任何其他允许您访问命令行界面的方法连接到您的 Linux 系统。然后,您可以测试与已知电子邮件提供商的出站连接,如下所示:

$ host -t mx gmail.com  ## Find out host names of their email servers...
gmail.com mail is handled by 10 alt1.gmail-smtp-in.l.google.com.
gmail.com mail is handled by 5 gmail-smtp-in.l.google.com.
gmail.com mail is handled by 30 alt3.gmail-smtp-in.l.google.com.
gmail.com mail is handled by 20 alt2.gmail-smtp-in.l.google.com.
gmail.com mail is handled by 40 alt4.gmail-smtp-in.l.google.com.

从列表中选择一台服务器并运行:

$ telnet gmail-smtp-in.l.google.com 25
Trying 64.233.166.26...
Connected to gmail-smtp-in.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP f7si810252wro.562 - gsmtp
quit
221 2.0.0 closing connection f7si810252wro.562 - gsmtp
Connection closed by foreign host.

如果您的系统具有出站 TCP 端口 25 连接,您将获得上述输出。 (注:您可以输入quit如上所示的命令来终止telnet连接。)

telnet如果您的云提供商、ISP 或两者之间的任何类型的防火墙阻止出站 TCP 端口 25 连接,您将得到如下所示的输出(在等待一定时间后暂停):

$ telnet gmail-smtp-in.l.google.com 25
Trying 173.194.216.26...
Trying 2607:f8b0:400c:c06::1b...
telnet: Unable to connect to remote host: Network is unreachable

大多数云和互联网服务提供商 (ISP) 现在都会阻止其客户的所有传出 TCP 端口 25 流量,以对抗垃圾邮件,但徒劳无功。因此,您需要与您的提供商核实是否属于这种情况,以及您的提供商是否会解除此限制。一些提供商(例如 Google Cloud Platform 或 Amazon Web Services)不会这样做。因此,您将没有机会在此类平台上运行 Postfix。

相关内容