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

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

这可以正常工作,但是PHP脚本似乎要等到超时限制后才能完成.我以为它可能正在等待sendmail的响应,而这仅仅是中继吗?

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

有人有想法么?我有点难过.
谢谢.

解决方法:

间接解决方案.

我们要做的是使用php的system()在后台发送电子邮件,因此用户不必等待电子邮件发送出去.

像这样的东西

<?php //sendEmail.php
mail($argv[1], $argv[2], $argv[3]);
?>

您的脚本:

<?php
...
system("php sendEmail.php to@address.com 'subject' 'message' 1>/dev/null 2>&1 &");
...
?>
上一篇:带有附件的Python Sendmail?


下一篇:javascript 网络是否连接的几种方案