【问题标题】:sending multiple emails using queue - laravel 7使用队列发送多封电子邮件 - laravel 7
【发布时间】:2021-06-26 03:20:06
【问题描述】:

我需要使用 Laravel 队列和作业发送批量电子邮件。如果我理解的话,我的这种方法应该分派 1 个作业,其中所有电子邮件都被提取并通过 foreach 循环一一发送,对吗?不知何故,只发送了一封电子邮件。当我检查邮件时,收件人邮件似乎采用这种格式 - “test2@gmail.com”。只有 test1 电子邮件帐户收到了电子邮件。我不确定是什么原因造成的。感谢您的帮助。

控制器

$body = $request->body;
        $titleName = $request->subject;
        
        $job = (new \App\Jobs\SendQueueEmail($body, $titleName))
                ->delay(now()->addSeconds(2)); 

        dispatch($job);

工作

public function handle(Request $request)
    {

        $emailsAlumni = ['test1@gmail.com', 'test2@gmail.com'];
        $date = Carbon::now()->format('d M Y');

        $data = [
            "body" => $this->body,
            "date" => $date
        ];

        foreach ($emailsAlumni as $email) {
            Mail::send('main.admin.email.general', $data, function ($message) use ($email) {
                $message->to($email);
                $message->subject('title');
            });
        }

    }

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    你不需要循环整个 Mail 实例,你可以尝试一下

    Mail::send('main.admin.email.general', $data, function ($message) use ($emailsAlumni) {
                $message->to($emailsAlumni);
                $message->subject('title');
            });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-13
      • 2020-04-16
      • 1970-01-01
      • 2023-04-05
      • 2011-02-08
      • 2016-02-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多