我已经将 CentOS/Dovecot/Postfix 盒子作为电子邮件服务器运行了一段时间,没有出现任何问题。
几周前,用户无法通过外部客户端发送电子邮件。他们可以阅读来自 Outlook/Evolution/Thunderbird 客户端的电子邮件,但无法发送任何电子邮件。
错误消息对我来说非常模棱两可。它基本上说客户端无法连接到服务器。
我没有更改任何配置文件,邮件日志也没有记录这些失败的尝试。
我是做这种工作的新手,我很难过。
在指出任何可能的原因或我遗漏的任何日志或我可以研究的任何资源方面的任何帮助将不胜感激。
编辑:我可以通过基于 web 的本地电子邮件客户端发送电子邮件,例如 roundcube 或 squirrel。
更新:
正如马特西蒙斯建议的那样,我尝试远程登录服务器。我能够从内部连接,但不能从外部连接。然后我决定更改端口并能够从外部连接并从外部客户端从我的域中的电子邮件帐户发送电子邮件。
但是,现在我无法接收来自服务器外部帐户的电子邮件。请帮忙。我解决了小问题并创建了一个大问题。
我发现我的 ISP 阻止了 25 端口。我正在使用提交端口。
正如 Matt Simmons 建议的那样,尝试从外部和内部连接 telnet 为我指明了正确的方向,我在以下线程中得到了最终提示:
我的 ISP 阻塞了端口 25。端口 587 是一个很好的替代品吗?
谢谢。
我不使用 Centos,但我使用 RHEL。我经常忘记检查的 RHEL 有时会咬我一件事,那就是 SELinux。
尝试将其关闭,即
setenforce 0
看看是否会有所不同。有时人们在进行设置时将其关闭,然后忘记将更改永久保存在配置文件中,然后在重新启动时它又回来并且事情停止工作,第 1 步- 服务是否正在运行?
如果没有,那么
第 2 步- 你可以通过 25 和 443 端口远程登录到本地主机吗?
如果没有,请尝试重新启动服务并再次检查。如果仍然不能,请检查邮件日志和消息以获取有用的输出。您可能必须在调试模式下运行服务器(我不知道该怎么做,但您应该能够通过阅读 /etc/init.d/dovecot 弄清楚)
第 3 步- 你可以从其他机器的这些端口上远程登录到服务器吗?
如果没有,请检查该机器上的防火墙。检查 /etc/hosts.deny。检查您尝试连接的计算机上的防火墙。
如果您已经成功做到这一点并且一切正常,但您的客户仍然无法连接,那么是时候尝试成为客户了。Telnet 到服务器上的 25 端口(从另一台机器)并伪装成 smtp 客户端:
希望会出现一些诊断消息,让您知道为什么不接受交付。如果它被接受交付,则伪装成 IMAP 服务器
Telnet 到机器上的 443 端口,然后执行以下操作:
如果你成功地做到了这一点,那就是邮件客户端坏了。检查损坏的代理配置,或者最坏的情况,重新安装。
使用提交端口的问题在于它通常仅供经过身份验证的用户使用。因此,外部邮件服务器不会尝试使用提交端口将邮件传递到您的服务器。