sch*_*trj 7 ubuntu postfix webmin
从Roundcube仪表板中可以看到消息发送成功。
但是,当我检查时/var/log/mail.log
,它显示如下:https:
//pasteid.fledix.com/5mat
它甚至没有收到其他电子邮件的消息。
我转到网络配置中的主机名和DNS 客户端,并将 DNS 服务器更改为、和。(它只有一个:那就是我的专用IP)127.0.0.1
8.8.8.8
8.8.4.4
我重新启动了saslauthd
好postfix
几次。
我将 Dovecot 服务器的 TLS 更改为默认值。
我完全是一个门外汉。
让我印象深刻的一件事是,当我登录 Webmin 面板时,系统主机名显示为,其中是我的专用 IP。在其他 Webmin 安装中,我看到它显示为.my chosen hostname (xxx.xxx.xxx.xx)
xxx.xxx.xxx.xxx
hostname (127.0.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.
Run Code Online (Sandbox Code Playgroud)
从列表中选择一台服务器并运行:
$ 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.
Run Code Online (Sandbox Code Playgroud)
如果您的系统具有出站 TCP 端口 25 连接,您将获得上述输出。(注:您可以输入quit
如上所示的命令来终止连接telnet
。)
如果您的云提供商、ISP 或两者之间的任何类型的防火墙阻止出站 TCP 端口 25 连接,您将得到如下所示的输出(在等待一定时间超时后telnet
):
$ 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
Run Code Online (Sandbox Code Playgroud)
大多数云和互联网服务提供商 (ISP) 现在都会阻止其客户的所有传出 TCP 端口 25 流量,以对抗垃圾邮件,但徒劳无功。因此,您需要与您的提供商核实是否属于这种情况,以及您的提供商是否会解除此限制。一些提供商(例如 Google Cloud Platform 或 Amazon Web Services)不会这样做。因此,您将没有机会在此类平台上运行 Postfix。