laravel5.1 使用队列发送邮件

首先在.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发送成功

相关文章
相关标签/搜索