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