Laravel Job Mail文件无法打开文件

时间:2018-08-24 14:50:08

标签: laravel

我想添加一个工作,以便将邮件发送到一大堆地址;但是我有例外

  

Swift_IoException:无法打开文件进行读取

我的方法在没有工作的情况下工作得很好,但是现在当我对数据库使用调度工作时,出现此错误。有人知道我为什么要例外吗?

当我直接在控制器中使用此附件时:

if($request->uploads){

            foreach($request->uploads as $file) {
                $files[] = [
                    'file' => $file->getRealPath(),
                    'options' => [
                        'mime' => $file->getClientMimeType(),
                        'as'    => $file->getClientOriginalName()
                    ],
                ];
            }

        }else{

            $files = null;

        }

    Mail::to($emails)->send(new MassiveEmail($subject , $bodyMessage , $files));

但是当我使用它时,它不起作用:

$job = (new SendEmailMassiveJob($emails , $subject , $bodyMessage , $files))
            ->delay(Carbon::now()->addSeconds(10));

        dispatch($job);

这是我的工作类别:

public function handle()
    {

        $emails = $this->emails;
        $subject = $this->subject;
        $bodyMessage = $this->bodyMessage;
        $files = $this->files;

        foreach ($emails as $email){

            Mail::to($email)->send(new MassiveEmail($subject , $bodyMessage , $files));

        }
    }

这是我的邮件类别,当我附加文件时会产生错误:

public function build()
    {

        $subject = $this->subject;
        $bodyMessage = $this->bodyMessage;
        $files = $this->files;

        $email =  $this->markdown('email.MassiveMail',compact('bodyMessage'))
            ->subject($subject.'-'.'FFRXIII Licences & Compétitions');

        if($files){

            foreach($files as $file) {
                $email->attach($file['file'],$file['options']);
            }

        }

        return $email;
    }

0 个答案:

没有答案