在使用Laravel的Mail::send()
回调时,我似乎无法成功地发送到multiple个地址,但是当我只指定one个收件人时,代码确实有效.
我试过用链子锁住:
// for example
$emails = array("myemail1@email.com", "myemail2@email.com");
$input = Input::all();
Mail::send('emails.admin-company', array('body' => Input::get('email_body')),
function($message) use ($emails, $input) {
$message
->from('admin@admin.org', 'Administrator')
->subject('Admin Subject');
foreach ($emails as $email) {
$message->to($email);
}
});
并传递一个数组:
// for example
$emails = array("myemail1@email.com", "myemail2@email.com");
$input = Input::all();
Mail::send('emails.admin-company', array('body' => Input::get('email_body')),
function($message) use ($emails, $input) {
$message
->from('admin@admin.org', 'Administrator')
->subject('Admin Subject');
$message->to($emails);
});
但是这两种方法都不起作用,我在返回Mail::failures()时收到失败消息,Mail::failures()的var_dump()显示了我试图发送到的邮箱地址,例如:
array(2) {
[0]=>
string(18) "myemail1@email.com"
[1]=>
string(18) "myemail2@email.com"
}
显然是做错了什么,我也不理解API,希望能得到任何帮助:http://laravel.com/api/4.2/Illuminate/Mail/Message.html#method_to
我意识到我可以在for/foreach循环中使用Mail::send()
方法,每个邮箱地址使用Mail::send()
方法,但在我看来,这并不是最佳解决方案,我希望在一切正常后,我也能将->bcc()
方法应用到所有地址,这样收件人就不会看到邮件发送给其他人.