使用CakePHP 3发送大量电子邮件

时间:2016-05-17 06:24:40

标签: cakephp-3.0

所以,我想要完成的是这个。我希望有一个很好的UI,管理员可以在其中输入电子邮件,然后点击发送。

当发送命中时,它会通过数据库,查找订阅了电子邮件并抓取其电子邮件地址的所有用户。然后它会在循环中将电子邮件发送给这些用户。

我已经创建了它并且工作正常。然而,如果我有几千个用户或者更多用户,我就会相信我一直在阅读的内容,这是不可持续的。

我一直在阅读的是我应该在后台设置一个实际发送电子邮件的任务。根据我的阅读和理解,我应该使用Shell http://book.cakephp.org/3.0/en/console-and-shells.html#creating-a-shell来做这件事。所以解决这个问题的唯一想法是将电子邮件保存到数据库中,创建一个shell,通过一定数量的用户和电子邮件将数据库中的电子邮件发送给他们(有多少是好的做法?),然后附加该shell到一个将在某个迭代中运行的cron作业(这将是一个很好的迭代?),直到所有用户都被处理完毕。

我不喜欢这个解决方案的是,然后这个cron作业将一直运行,即使没有要发送的电子邮件,所以我必须标记一个已发送的电子邮件处理所有用户或删除电子邮件。但无论哪种方式,这个cron作业将始终运行此脚本,该脚本始终必须至少进行一次数据库调用,除非我将其关闭。这意味着当我想发送电子邮件并在我不想要时禁用它时,可能会有一个手动步骤来启用cron。

所以我想知道的是,这是解决这个问题的可接受的方法,还是有更好的方法来解决我当前解决方案的问题?

0 个答案:

没有答案