在我的应用程序中,用户可以从列表中请求某些服务,应用程序应该通知提供此服务的其他用户新请求。
由于许多用户可以提供我正在发送多封电子邮件的服务。
目前我正在设置通过队列发送电子邮件,我想知道这里最好的方法是什么:
创建新队列并通过->bcc($arrayOfEmails)
向适当的用户发送消息,或者为每封电子邮件创建一个新队列:
foreach($arrayOfEmails as $email)
{
Mail::queue....
...
->to($email)
...
}
我倾向于第二种解决方案,因为它对我更有意义。我相信我能更轻松地处理失败的电子邮件,但我从未这样做过,所以我不确定。
答案 0 :(得分:1)
这可能是个人偏好的问题。
我会为每封电子邮件单独拨打Mail::queue
。我认为代码会更简单易懂。
比较
foreach ($email in $list) {
Mail::queue('emails.my-message', $data, function ($message) use ($email) {
...
$message->to($email);
...
});
}
与
Mail::queue('emails.my-message', $data, function ($message) use ($list) {
...
foreach ($email in $list) {
$message->bcc($email);
}
...
});
可以肯定的是,这是一个微小的差别,但我认为在第一种情况下你更容易理解你在做什么。