时间:2021-07-01 10:21:17 帮助过:7人阅读
首先在`.env`文件下设定队列的驱动```QUEUE_DRIVER = database```laravel5.1提供了6种驱动,`sync`,`databse`,`beanstalkd`,`sqs`,`iron`,`redis`具体可以在官方手册查阅.本次选用`database`作为驱动php cli下执行```php artisan queue:tablephp artisan queue:failed-tablephp artisan migrate```生成了两个表,存放队列的成功的数据和失败的数据然后在`app/config/mail.php`下设置发信人的账户和名称`'from' => ['address' => 'XXX@163.com', 'name' => 'fuck it']`在`.env`下设置邮箱的相关信息```MAIL_DRIVER=smtpMAIL_HOST=smtp.163.comMAIL_PORT=25MAIL_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`发送成功