我有一个应用程序在提交表单后将邮件发送到电子邮件列表。为此,我正在使用队列作业在后台将邮件发送到该列表。我正在使用SMTP与mailtrap。我是这个队列作业功能的新手。
这是调度队列的控制器代码:
public function sendMail(Request $request)
{
$lists = List::where('list_id',$request->list_id)->pluck('email')->toArray();
$jobs = (new SendEmailToList($lists));
$this->dispatch($jobs);
return 'success';
}
这是我在队列中的工作功能:
public function handle()
{
$lists = $this->lists;
Mail::send('email.test', array('email' => 'Sample'), function ($message) use ($lists) {
$message->to($lists);
});
}
我的Linux系统主管中有一个程序文件queue:listen
。
我已经做了所有事情,但仍然没有发送邮件到所有电子邮件列表。我已经提到了许多文档,但仍然存在相同的问题,所有文档都是为了实现QueueManager而提供的。
答案 0 :(得分:0)
您应该拨打Mail::queue
或Mail::later
而不是Mail::send
。
如果您遗失了其他内容,请refer to Mail documentation。