2016-12-07 62 views
0

我需要發送提醒郵件的用戶在排隊Laravel 5.3發送電子郵件提醒給多個用戶的隊列

目前我有

UserController.php

public function postSendUsersPaymentRequest(Request $request){ 
    $users_ids  = $request->get('user_checked');   
    dispatch(new SendPaymentRequestEmail($users_ids)); 
    return response()->json(['code' => 200], 200); 
} 

\ APP \作業\ SendPaymentRequestEmail .php

public function handle(UserRepository $userRepo) 
{ 
    $users = $userRepo->getUserInfoDetails(3,1,1)->whereIn('user_id',$this->users_ids); 
    foreach($users as $user){ 
     $this->emailPaymentRequest($user); 
    } 
} 

private function emailPaymentRequest($user){ 
    Mail::queue($this->email_vew, ['user' => $user], function ($m) use ($user) {    
     $from   = Config::get('mail.from'); 
     $project_name = Config::get('app.project_name');       
     $m->from('fromemail', $project_name); 
     $m->to('toemail', $user->name)->subject('Payment Request');              
    });  
} 

但是電子郵件發送時沒有排隊。

感謝您提前提供任何幫助。

+0

「.env」文件中的'QUEUE_DRIVER'是什麼?另外,在'config/queue.php'中你的'queue'的名字是什麼? – prateekkathal

+0

將您的隊列驅動程序設置爲數據庫,並使用隊列的作業表遷移數據庫。如果驅動程序是同步的,那麼它將直接發送郵件而不用等待 –

+0

是的,我解決了。 QUEUE_DRIVER是.env中的文件,但我使用數據庫作爲驅動程序。 – vijay

回答

0

QUEUE_DRIVER=database加入您的.env文件。

相關問題