laravel5.1 使用队列发送邮件

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-06 09:12:06

首先在.env文件下设定队列的驱动

QUEUE_DRIVER = database

laravel5.1提供了6种驱动,sync,databse,beanstalkd,sqs,iron,redis具体可以在官方手册查阅.

本次选用database作为驱动

php cli下执行

php artisan queue:table

php artisan queue:failed-table

php artisan migrate

生成了两个表,存放队列的成功的数据和失败的数据

然后在app/config/mail.php下设置发信人的账户和名称'from' => ['address' => 'XXX@163.com', 'name' => 'fuck it']

.env下设置邮箱的相关信息

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下新建模板

php cli 下执行php artisan queue:listen

web下访问mail/queue这个路由

可以发现Processed: mailer@handleQueuedMessage发送成功

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!