我使用 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 问题,这通常是因为您需要在机器上设置主机 + 域名。