如何在带有附件 laravel 的作业中对电子邮件进行排队

How to queue email in a job with attachment laravel

我创建了一个队列作业来向我的一批用户发送电子邮件,当我发送带有附件的电子邮件时它工作正常。但是当我将文件添加到队列时,出现无法序列化内容的错误。

这是我的代码

$emailJob = (new SendNewsletter($id, $request->flag, $attachments))->delay(Carbon::now()->addSeconds(3));
        dispatch($emailJob);

您不应将您的文件直接包含在作业中。而是做这样的事情:

  1. 将文件存储在磁盘上
  2. 使用磁盘上文件的文件路径创建作业
  3. 处理作业时:
    1. 从磁盘中检索文件
    2. 发送您的时事通讯
    3. 从磁盘中删除文件