Laravel群发邮件队列(按数量和时间划分)

Laravel bulk mail queue (divided by quantity and time)

我有一个日程安排系统,可以发送包含每个系统成员各自日历的电子邮件。

我的邮件列表显着增加(超过 800 个收件人),我的电子邮件提供商正在产生某种限制,例如 SMTP 缓送。

我想我可以把所有这些收件人都分拆成小包裹发送,即,我可以使用 Mail::queue()

重点是: 有什么方法可以让我每隔一段时间加入队列,例如 10 分钟,并且总是在队列的末尾添加,即使有新的邮寄包裹。

我的想法是(我不知道这是否是最佳解决方案),取这个总数,例如 800,除以 150,将得到 5 次互动,在这 5 次互动中,每发送 25 封电子邮件10分钟。 (25 X (60/10) X 5 == 750).

您可以将所有邮件放入您的队列,然后将队列配置为在给定时间执行特定数量的邮件(为此需要 redis):https://laravel.com/docs/master/queues#rate-limiting

因此,您可以专注于您正在做的事情,而不是如何做这件事