【发布时间】:2019-11-06 08:54:37
【问题描述】:
我正在开发一个电子邮件系统,一切正常,我可以毫无错误地发送电子邮件,我有超过 3000 个电子邮件地址,我想向他们发送电子邮件,但是当我按下发送按钮时,操作发生了一个多小时,所以我决定使用梨队列邮件包,该包现在将电子邮件队列插入数据库中,但是如何在后台将其插入数据库后运行发送功能,这样用户就不会因为很长时间而感到困惑他不得不等待。
【问题讨论】:
我正在开发一个电子邮件系统,一切正常,我可以毫无错误地发送电子邮件,我有超过 3000 个电子邮件地址,我想向他们发送电子邮件,但是当我按下发送按钮时,操作发生了一个多小时,所以我决定使用梨队列邮件包,该包现在将电子邮件队列插入数据库中,但是如何在后台将其插入数据库后运行发送功能,这样用户就不会因为很长时间而感到困惑他不得不等待。
【问题讨论】:
使用循环是一个很长的过程来逐一发送电子邮件,最好是批量发送电子邮件。 SwiftMailer 最好这样做。
使用 SwiftMailer,它支持 HTML,支持不同的 mime 类型和 SMTP 身份验证(您的电子邮件进入垃圾邮件的可能性非常低)。
另外,我想告诉你,当你在 PHP 中运行一个长进程时,它会在一段时间后超时。您必须增加 php.ini 文件中的执行时间。 如果你想坚持你的流程(循环)。
【讨论】: