Laravel电子邮件和队列

时间:2015-12-15 15:44:43

标签: php email queue laravel-5.1

在我的应用程序中,用户可以从列表中请求某些服务,应用程序应该通知提供此服务的其他用户新请求。

由于许多用户可以提供我正在发送多封电子邮件的服务。

目前我正在设置通过队列发送电子邮件,我想知道这里最好的方法是什么:

创建新队列并通过->bcc($arrayOfEmails)向适当的用户发送消息,或者为每封电子邮件创建一个新队列:

foreach($arrayOfEmails as $email)
{
  Mail::queue....
  ...
  ->to($email)
  ...
} 

我倾向于第二种解决方案,因为它对我更有意义。我相信我能更轻松地处理失败的电子邮件,但我从未这样做过,所以我不确定。

1 个答案:

答案 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);
    }
    ...
});

可以肯定的是,这是一个微小的差别,但我认为在第一种情况下你更容易理解你在做什么。