2016-06-27 20 views
2

の複数のユーザーにメールを送信することは、複数のユーザーにメールを送信する私のコードです。Laravel 5.2

$email_id = User::select('email_id')->get()->pluck('email_id'); 

    Mail::send('mail', [], function($message) use ($email_id) 
     { 
      $message->to($email_id)->subject('Welcome!!!'); 
     }); 

私は

Illegal Offset Typeのエラーを取得します。これにより

["[email protected]","[email protected]","[email protected]"] 

として $email_idで値を取得メートル。

しかし、私は

$email_id = ["[email protected]","[email protected]","[email protected]"]; 

として明示的に書くとき、私は複数のユーザーにメールを送信することができています。

なぜそれが

$email_id= User::select('email_id')->get()->pluck('email_id'); 

のために働いていないと、すべてのヘルプは感謝される

$email_id = ["[email protected]","[email protected]","[email protected]"]; 

のために正常に動作しています。

答えて

0

一度に1つのメールを送信したい場合。その後、私たちは複数のユーザーに電子メールを送信したい場合は、我々は単にコードに

->toArray() 

機能を追加し、このコード

$email_id = User::select('email')->get()->pluck('email')->toArray(); 
Mail::send('test', array('user' => $email_id) , function ($message) use 
($email_id) { $message->from('[email protected]'), 'From Example Name'); 
$message->to($email_id)->subject('Welcome!!!'); 
}); 
0

を使用することができ、このコード

$email_id = User::select('email_id')->get()->pluck('email_id'); 
    Mail::send('test', array('user' => $email_id) , function ($message) { 
    $message->from('[email protected]'), 'From Example Name'); 
    $message->to('[email protected]')->subject('Welcome!!!'); 
}) 

を使用することができます。

$email_id= User::select('email_id')->get()->pluck('email_id')->toArray(); 

注:この方法は、サーバー上のボトルネックを作成し、最終的には(それは今までに配信されている場合)、スパム/ジャンクフォルダに配信されるすべてのメールを強制することがメールを送信します。これを避けるには、すべてのメールをキューに入れる関数を記述します。明確化のためにhttps://laravel.com/docs/5.1/mail#queueing-mailを参照してください。