Почему функция проверки электронной почты не принимает адрес правильно?

Это моя функция.

public function email_verify_send_mail()
{
$inputs = \Input::all();
$rules = array(
'email' => 'required|email'
);
$validation = Validator::make($inputs, $rules);

if ($validation->fails()) {
$messages = $validation->errors();
return View::make('email_verify')->with('errors', $messages);
}
else{
$in=$inputs['email'];
//send mail to the user.......
Mail::send('email_view', ['key' => 'value'], function($message)
{
$message->to($inputs['email'])->subject('Welcome!');
});
return "okie";}
}

здесь, когда я печатаю $inputs['email'] это четко распечатать адрес электронной почты.
но когда я добавляю это в функцию mail :: send, выдает ошибку, Неопределенная переменная: входы.Почему это происходит? Спасибо заранее

0

Решение

входные переменные не входят в область действия анонимной функции. пожалуйста, используйте "use" утверждение как ниже:

public function email_verify_send_mail()
{
$inputs = \Input::all();
$rules = array(
'email' => 'required|email'
);
$validation = Validator::make($inputs, $rules);

if ($validation->fails()) {
$messages = $validation->errors();
return View::make('email_verify')->with('errors', $messages);
}
else{
$in=$inputs['email'];
//send mail to the user.......
Mail::send('email_view', ['key' => 'value'], function($message) use ($inputs)
{
$message->to($inputs['email'])->subject('Welcome!');
});
return "okie";}
}
2

Другие решения

Попробуй это….

Mail::send('email_view', ['key' => 'value'], function($message)
{
$message->to($inputs['email'])->subject('Welcome!');
});

в

Mail::send('email_view', ['email' => $in], function($message)
{
$message->to($email)->subject('Welcome!');
});

(или же)

  Mail::send('email_view', function($message)  use($in)
{
$message->to($in)->subject('Welcome!');
});

См:https://laravel.com/docs/5.0/mail

1

По вопросам рекламы [email protected]