如何在Laravel 5.4中运行数据库驱动的邮件队列?

时间:2017-02-11 17:46:05

标签: laravel laravel-5 laravel-mail

我想排队并发送基于database的队列驱动程序的邮件。我可以发送电子邮件:

Mail::to('someone@example.com')->send(new ForgotPassword($first_name, $link));

这也有效(我看到在jobs表中插入了一行)。

Mail::to('someone@example.com')->queue(new ForgotPassword($first_name, $link));

但我无法找到在后台运行队列和发送电子邮件的方法。

这不起作用:

php artisan queue:work

我该怎么做?

注意:这是Laravel 5.4。

2 个答案:

答案 0 :(得分:0)

您需要实际运行队列。有关如何执行此操作,请参阅https://laravel.com/docs/5.4/queues#running-the-queue-worker

答案 1 :(得分:0)

请提供有关错误的见解(请查看laravel.log文件)。可能是因为您的mailable类没有提供一个或两个变量,所以不要忘记定义

public $first_name;
public $link;

ForgotPassword 类中

并设置类的构造函数。