我设法让它一次向一个用户发送电子邮件,但一个用户不向多个用户发送电子邮件。虽然我尝试了很多方法,但下面是一个示例代码,我试图发送多封电子邮件。
if (isset($_POST['searchbutton'])) {
$data = $query->where('blood_type', '=', "$search")
->Where('state', '=', "$state")->get();
if (isset($POST['emailbutton'])) {
foreach ($data as $row)
Mail::send('emails.notify', array('name' => 'Name'), function($message) {
$message->to($row->email, $row->name)->subject('Hello');
});
}
}
谢谢。
答案 0 :(得分:0)
以下是一些更改建议,假设所有用户都会收到相同的电子邮件,这意味着您不会使用用户名自定义每封电子邮件:
if (isset($_POST['searchbutton'])) {
$data = $query->where('blood_type', '=', "$search")
->Where('state', '=', "$state")->get();
$emails = $query->where('blood_type', '=', "$search")
->Where('state', '=', "$state")->lists('email');
if (isset($POST['emailbutton'])) {
Mail::send('emails.notify', array(), function($message) use ($emails) {
$message->to($emails)->subject('Hello');
});
}
}
答案 1 :(得分:0)
这里的实际错误是变量$row
不在闭包范围内。要更正此问题,您需要使用use
关键字。即。
foreach ($data as $row){
Mail::send('emails.notify', array('name' => 'Name'),
function($message) use ($row) {
$message->to($row->email, $row->name)->subject('Hello');
}
);
}
您可以阅读更多about PHP closures here。