我一直试图用 GNU Mailman 设置邮件列表,但结果完全是一场灾难,障碍重重。Postfix 可以接收电子邮件,但根本无法将其发送出去,我查看了日志,发现以下内容:
Mar 30 16:35:30 apott-server postfix/smtp[22572]: connect to gmail-smtp in.l.google.com[74.125.142.26]:25: Connection timed out
Mar 30 16:36:01 apott-server postfix/smtp[22572]: connect to alt1.gmail-smtp-in.l.google.com[173.194.76.27]:25: Connection timed out
Mar 30 16:36:31 apott-server postfix/smtp[22572]: connect to alt2.gmail-smtp-in.l.google.com[74.125.131.26]:25: Connection timed out
Mar 30 16:37:01 apott-server postfix/smtp[22572]: connect to alt3.gmail-smtp-in.l.google.com[173.194.67.27]:25: Connection timed out
Mar 30 16:37:31 apott-server postfix/smtp[22572]: connect to alt4.gmail-smtp-in.l.google.com[173.194.65.26]:25: Connection timed out
Mar 30 16:37:31 apott-server postfix/smtp[22572]: A0616100CCB: to=<[email protected]>, relay=none, delay=150, delays=0.06/0.01/150/0, dsn=4.4.1, status=deferred (connect to alt4.gmail-smtp-in.l.google.com[173.194.65.26]:25: Connection timed out)
显然有某种因素阻止了电子邮件的发送,有人对如何解决这个问题有什么建议吗?
(服务器是 Ubuntu Linux 机器)
谢谢你的帮助。
答案1
连接超时意味着您的 TCP SYN 数据包未收到 SYN-ACK。这意味着一定有什么东西阻塞了 SYN 或 SYN-ACK。
你可以使用 traceroute 来查看你的 SYN 数据包传输了多远
traceroute -n -T -p 25 gmail-smtp-in.l.google.com
请注意,Ubuntu 有不同的 traceroute 命令。上述命令适用于 traceroute.db,但不适用于 traceroute-nanog 或 inetutils-traceroute。
为了进行比较,使用端口 80 而不是端口 25 运行第二个跟踪路由可能会很有用。
答案2
这可能无关紧要,但我要在这里发布它,因为我很难找到问题的答案。我能够通过编辑我的虚拟盒子/etc/resolv.conf
来使用 Google 的名称服务器,而不是它设置的 10.0.xx IP,从而使出站电子邮件正常工作:
sudo vi /etc/resolv.conf
更改名称服务器IP:
nameserver 8.8.8.8
然后你需要重新启动 postfix:
sudo /etc/init.d/postfix restart
答案3
在 /etc/postfix/main.conf 中设置到您的 isp smtp 服务器的中继主机
然后重新加载:sudo service postfix reload