CentOS/Dovecot/Postfix 服务器不再允许外部电子邮件客户端发送电子邮件

CentOS/Dovecot/Postfix 服务器不再允许外部电子邮件客户端发送电子邮件

我一直运行 CentOS/Dovecot/Postfix 框作为电子邮件服务器,没有任何复杂情况。

几周前,用户无法通过外部客户端发送电子邮件。他们可以从 Outlook/Evolution/Thunderbird 客户端阅读和访问电子邮件,但无法发送任何电子邮件。

错误消息对我来说非常模糊。它基本上说的是客户端无法连接到服务器。

我没有更改任何配置文件,并且邮件日志也没有记录这些失败的尝试。

我是做这种工作的新手,我感到很困惑。

如果能帮助指出任何可能的原因、我遗漏的日志或我可以研究的任何资源,我将不胜感激。

编辑:我可以通过本地基于网络的电子邮件客户端(如 roundcube 或 squirrel)发送电子邮件。

更新:

按照 Matt Simmons 的建议,我尝试远程登录服务器。我可以从内部连接,但不能从外部连接。然后我决定更改端口,这样就可以从外部连接,并从外部客户端发送电子邮件,这些邮件来自我域中的电子邮件帐户。

但是,现在我无法接收来自我服务器之外的帐户的电子邮件。请帮忙。我解决了小问题,却带来了大问题。

答案1

我发现我的 ISP 正在阻止端口 25。我正在使用提交端口。

按照 Matt Simmons 的建议尝试从外部和内部使用 telnet 进行连接,这为我指明了正确的方向,并在以下线程中得到了最后的提示:

我的 ISP 正在阻止端口 25。端口 587 可以替代吗?

谢谢。

答案2

我不用 Centos,但用 RHEL。RHEL 有个问题我经常忘记检查,那就是 SELinux。

尝试关闭它,setenforce 0看看是否有区别。有时人们在设置时将其关闭,然后忘记在配置文件中永久更改,然后在重新启动时它又恢复了,并且一切停止工作,

答案3

步骤1- 服务是否正在运行?

 service dovecot status

如果没有,那么

 service dovecot start

第2步- 您能通过端口 25 和 443 远程登录到本地主机吗?

如果没有,请尝试重新启动服务并再次检查。如果仍然无法完成,请检查邮件日志和消息以获取有用的输出。您可能必须在调试模式下运行服务器(我不知道该怎么做,但您应该能够通过阅读 /etc/init.d/dovecot 来弄清楚)

步骤3- 您可以从其他机器通过这些端口 telnet 到服务器吗?

如果没有,请检查该机器上的防火墙。检查 /etc/hosts.deny。检查您尝试连接的机器上的防火墙。

如果您已成功完成此操作并且一切正常,但您的客户端仍然无法连接,那么是时候尝试成为客户端了。 Telnet 到服务器上的端口 25(从另一台计算机)并假装是 smtp 客户端:

   HELO fakeclient
   MAIL FROM [email protected]
   RCPT TO: [email protected]
   DATA
   To: [email protected]
   From: myemail.com
   Subject: Test 1

   This is test 1

   .

希望会出现一些诊断消息,让您知道为什么它没有被接受传送。如果它被接受传送,则假装是 IMAP 服务器

Telnet 到机器上的 443 端口,然后执行以下操作:

   ? LOGIN username password
   ? LIST "" "*"
   ? LOGOUT

如果您成功到达这一步,则邮件客户端已损坏。检查代理配置是否损坏,或者在最坏的情况下重新安装。

答案4

使用提交端口的问题在于它通常仅供经过身份验证的用户使用。因此,外部邮件服务器不会尝试使用提交端口将邮件发送到您的服务器。

相关内容