假设用户将表单提交给submit.php,服务器将返回两个可能的响应:A或B.如果服务器要返回B,那么我想服务器发送电子邮件到一个地址。在PHP脚本结束之前PHP向用户返回输出
<?php
if(B){
echo 'B';
}
mail($to, $subj, $msg);
?>
的问题是,它往往需要一些时间来等待邮件()来完成...该用户只能得到响应的服务器完成邮件后()。这对我的用户来说是一个非常糟糕的体验。
有什么办法,服务器可以立即返回响应'B'给用户,然后它发送邮件?
可我问为什么邮件的时间太长?也许你需要优化你的邮件代码而不是 – andrew
把邮件发送到一个队列中并让一个cron作业接收并实际发送邮件。 – GordonM
@andrew有时邮件正在等待处理,我不知道是什么原因,因为我没有自己的邮件服务器... – ChandlerQ