当我们发送带有工作和队列错误的电子邮件时

when we send email with job and queue error occur

[发送电子邮件时显示这些错误][1]ReflectionException Method App\Mail\Newsletter::__invoke() does not exist

these is my controlledispatch(new Newsletter($emailSubject,$emailBody,$arrayEmails)); these is my email classpublic function build() { return $this->view('emails.newsletter')->subject($this->emailSubject)->with(['msg'=> $this->emailBody]); } these is my jobs public function handle() { $email = new Newsletter($this->emailSubject,$this->emailBody,$this->arrayEmails); Mail::to($this->arrayEmails)->send($email); }

据我了解,您创建了一个作业,该作业又创建并发送了电子邮件对象。

但是,在控制器中,您不是在调度作业,而是在调度电子邮件对象。并且电子邮件对象不包含 handle__invoke 方法,因此您会看到错误消息。

解决方案是发送作业而不是电子邮件。

这样的设计确实没有必要。请查看 Mailables,创建排队的可邮寄邮件,然后发送它。