Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel向多个用户发送电子邮件花费的时间太长_Php_Laravel_Mailgun - Fatal编程技术网

Php Laravel向多个用户发送电子邮件花费的时间太长

Php Laravel向多个用户发送电子邮件花费的时间太长,php,laravel,mailgun,Php,Laravel,Mailgun,我正在寻找一个解决方案如何优化我的代码以向我应用程序中的所有用户发送电子邮件 $emails = [ 'myoneemail@esomething.com', 'myoneemail@esomething.com', 'myoneemail@esomething.com', ... ]; $data = [ 'subject' => 'Items List', 'mai

我正在寻找一个解决方案如何优化我的代码以向我应用程序中的所有用户发送电子邮件

    $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();

有什么办法可以优化它吗?在live应用程序中,我有100多个用户。

如果我没有弄错的话,您可以使用
Mail::bcc($emails)->队列(new Mailable($data))。
这样,您只需发送1封邮件,所有邮件都以密件抄送


但是,如果每个邮件对用户来说都是不同的/自定义的,则您可能希望检查如何从作业()发送电子邮件事件。

使用可排队作业,您将能够触发作业并让其在后台运行。您/用户/etc将能够离开它,它将及时处理。但在这种情况下,邮箱中的归档地址将如下所示。还有其他解决方案吗?我不认为有…其他解决方案是创建一个推到队列上的作业。就像威尔在上面的评论中解释的那样,这是一种发送邮件而不是等待回复的方式。