首先在.env
文件下设定队列的驱动php
QUEUE_DRIVER = database
laravel5.1提供了6种驱动,sync
,databse
,beanstalkd
,sqs
,iron
,redis
具体能够在官方手册查阅.laravel
本次选用database
做为驱动web
php cli下执行redis
php artisan queue:table php artisan queue:failed-table php artisan migrate
生成了两个表,存放队列的成功的数据和失败的数据app
而后在app/config/mail.php
下设置发信人的帐户和名称'from' => ['address' => 'XXX@163.com', 'name' => 'fuck it']
ui
在.env
下设置邮箱的相关信息code
MAIL_DRIVER=smtp MAIL_HOST=smtp.163.com MAIL_PORT=25 MAIL_USERNAME=邮箱帐户 MAIL_PASSWORD=邮箱密码 MAIL_ENCRYPTION=null
确认你的邮箱已经开启了SMTP服务队列
配置发送路由路由
Route::get('mail/queue',function(){ Mail::later(5,'emails.queued_email',["name" => "gewenrui"],function($message){ $message->to('收件人邮箱','名称')->subject('主题'); }); return "get emails"; });
在views/emails/queue
下新建模板get
php cli 下执行php artisan queue:listen
web下访问mail/queue
这个路由
能够发现Processed: mailer@handleQueuedMessage
发送成功