2016-12-07 113 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文件。

相关问题