使用 PHP 从 Web 服务器发送的电子邮件未到达

使用 PHP 从 Web 服务器发送的电子邮件未到达

我正在尝试使用 PHP 通过网络服务器发送电子邮件,但由于某种原因,电子邮件从未到达。根据 PHP 的说法,电子邮件已成功发送,但我从未收到该电子邮件。我知道这不是垃圾邮件问题,因为网络服务器过去能够成功发送电子邮件,直到我上周重新安装它。它已经安装了完全相同的操作系统和配置,但现在它不起作用。

它使用默认的 PHP 设置来发送电子邮件,并且我已在防火墙中启用了 SMTP,但这似乎不起作用。

是否有任何 PHP 电子邮件发送日志可以帮助我解决它无法正常工作的原因?

答案1

PHP 可能正在尝试与本地 SMTP 服务器通信,即与 Web 服务器运行在同一台计算机上的服务器。那么,你设置了吗?有很多可供选择。最流行的是 Sendmail、Exim、Postfix 和 Qmail。

尝试使用原始mailx客户端发送电子邮件。如果它无法将邮件发送到机器之外,则可能与 PHP 无法发送邮件的原因相同,因此问题将出在 PHP 之外。

尝试从命令行手动发送电子邮件,方法是telnet连接到localhost端口 25 并手动说出 SMTP。网上有很多这方面的指南。这是一个。您从那里去哪里取决于发生的事情:

  • 如果您在端口 25 上没有得到应答,则表明 SMTP 服务器没有运行。

  • 如果它回答了,也许它会给出一条错误消息,提示您解决问题。

  • 如果它似乎接受了电子邮件,则您必须调试本地 SMTP 服务器。

相关内容