我想在后台发送邮件,我有一个功能,可以正常工作,但是它阻止了我的邮件传递给用户!
//我尝试过
$er=1;
$outmsg = 'You are now registered,please check your email for verification!';
$this->common_model->partialResponse();
$this->mailer->send_mail($mail,$Mailconfig);
$type = ($er==1) ? "success" : "danger";
echo json_encode(array('msgtype'=>$type,'datacon'=>$outmsg));
function partialResponse()
{
$response=array();
ignore_user_abort(true);
ob_start();
echo json_encode($response);
header("Status: 200");
header($_SERVER["SERVER_PROTOCOL"] . " 200 Ok");
header("Content-Type: application/json");
header('Content-Length: '.ob_get_length());
ob_end_flush();
ob_flush();
flush();
}
答案 0 :(得分:0)
最近我遇到了同样的问题:电子邮件发送缓慢。使用SMTP更糟。发送电子邮件需要3到4秒钟。
乍一看,我想我可以做一些您想归档的事情,但是这种方法会导致很多问题,这是不值得的。
我最终创建了一个电子邮件表,以将所有可能发送的电子邮件排队(并保存为历史记录)。
为了处理此队列,我创建了一个cronjob,以运行特定的控制器/方法来发送这些电子邮件。