我正在寻找一种解决方案,该如何优化我的代码以向我的应用程序中的所有用户发送电子邮件?
$emails = [
'myoneemail@esomething.com',
'myoneemail@esomething.com',
'myoneemail@esomething.com',
...
];
$data = [
'subject' => 'Items List',
'mailFrom' => 'no-replay@example.com',
'items' => $items
];
foreach ($emails as $email) {
Mail::to($email)->queue(new Mailable($data));
}
return back();
是否有任何解决方案可以对其进行优化?在实时应用中,我有100多个用户。
答案 0 :(得分:3)
如果我没记错的话,可以使用Mail::bcc($emails)->queue(new Mailable($data));
。
这样一来,您只需发送1封邮件,所有电子邮件均保存在密件抄送中。
但是,如果每封邮件都是不同的/是针对用户定制的,则您可能需要检查如何从作业(https://laravel.com/docs/5.7/queues#creating-jobs)调度电子邮件事件。