2014-08-27 17 views
0

我可以使用Laravel的Mail類發送多封電子郵件。但是,這很慢。因此,我想使用AJAX創建一個進度條,顯示在完成之前發送了多少封電子郵件。laravel:如何知道成功發送的郵件數量?

如何查找完成前成功發送的電子郵件數量?


控制器

private function sendMail($email){ //get saved email model object 

    $data = [ 
     "message_body"=>$email->message 
    ]; 

    $recipients = DB::table('newsletter_subscribers')->lists('email'); //list of multiple email addresses 

    Mail::send('emails.body', $data, function($message)use($recipients,$email) 
    { 
     $message->to($recipients) 
      ->subject($email->subject) 
      ->from('[email protected]','prettypal.com'); 
    }); 
    return 'success'; 
} 

回答

0

什麼,我可以建議是呼籲Mail::send像這樣

$number = 0; 
foreach ($recipients as $recipient) { 
    Mail::send('emails.body', $data, function($message) use($recipient,$email){ 
     $message->to($recipient) 
      ->subject($email->subject) 
      ->from('[email protected]','prettypal.com'); 
    }); 
    $number ++; // this is actually the number of sent mails 
} 
+0

每個收件人是的,我最初打算朝這個方向太多,但我很害怕它會受到性能的影響......還是會呢?我想知道,如果Laravel或swiftmailer有任何方法來確定電子郵件發送.. – Mark 2014-08-27 09:42:42

相關問題