用php写群发邮件时,取消等待返回的方法

来源:互联网 发布:淘宝奇葩 编辑:程序博客网 时间:2024/06/05 17:39

今天在系统中写一个要管理员操作发送相关邮件给用户的功能。

本来觉得挺简单的,封装一个sendemail的方法,直接调用就OK了。

写完之后一测试发现,页面会一直停留在发送邮件页面,直到sendemail执行完成,返回相关信息,页面才跳转。

但这明显不符合功能需求。

于是想到了使用fsockopen和fputs来实现异步的发送email,让程序后台进行,不占用前台页面的操作时间。


//异步调用发送邮件 让后台进行发送。
$fp=fsockopen('localhost',80,&$errno,&$errstr,5);
if(!$fp){
echo "$errstr ($errno)<br />\n";
}
fputs($fp,"GET /send_email.php?acc=".$send_to."\r\n");
fclose($fp);
//异步调用结束

执行了这个之后,web页面就不会一直停留在空白页面 等待 sendemail 返回消息

0 0
原创粉丝点击