使用phpmailer发送异步电子邮件

时间:2012-02-18 14:52:00

标签: phpmailer

是否可以使用phpmailer发送异步电子邮件?

普通邮件发送代码段如下:

$mail->Send();

PHP在继续之前等待Send()返回结果。有没有可能让phpmailer立即返回结果,而无需等待真正的电子邮件发送例程完成。

2 个答案:

答案 0 :(得分:8)

2016年5月更新

正如用户@Sinak Salek所提到的,PHP确实支持多线程。 它可以使用pthreads扩展名。

<强>原始

PHP本身不支持多线程(你需要做得很漂亮)。您可以通过将电子邮件保存在数据库中然后使用其他脚本(例如,使用cron作业)来处理它们。这样您就不必等待底层的电子邮件框架。

另一件事,如果phpmailer很慢,可能是由于底层邮件程序(sendmail,postfix等)安装不正确。

答案 1 :(得分:0)

如果您使用的是Linux,则可以将php脚本放入exec命令并在后台启动(在命令末尾放置&amp;)和静默模式(2&gt;&amp; 1&gt; / dev /空)