使用 PHP mail() 函数通过 Exchange 发送电子邮件时出现延迟(使用 sendmail 作为中继)

使用 PHP mail() 函数通过 Exchange 发送电子邮件时出现延迟(使用 sendmail 作为中继)

我使用 PHP mail() 函数从 Linux 服务器发送电子邮件,但使用 Exchange 作为主 MTA。为了实现此目的,已将 sendmail 设置为将所有内容转发到本地 Exchange 服务器,然后由该服务器发送电子邮件。

一切运行正常,但 PHP 脚本似乎要等到超时限制后才能完成。我想也许它正在等待来自 sendmail 的响应,但它没有响应,因为它只是一个中继?

我为“sendmail_path”-odb 指定了 php.ini 命令行选项,该选项应以“后台”传送模式启动 sendmail,这意味着在单独的进程中发送电子邮件,然后立即返回。但 PHP 脚本仍需要 30 秒才能结束。

有人有什么想法吗?我有点困惑。谢谢。

答案1

您可以安装 mailx 包并查看使用 mail 命令时是否会出现相同的延迟吗?

echo foo | mail [email protected]

如果是这种情况,那么您就知道这是一个 sendmail 问题,这通常是因为您需要在机器上设置主机 + 域名。

相关内容