Я все время получаю эту ошибку:
"Type error: Too few arguments to function App\Http\Controllers\PageController::App\Http\Controllers\{closure}(), 1 passed and exactly 2 expected"
Для этого небольшого фрагмента кода:
public function contact(Request $request) {
Mail::raw($request->message, function($message, $request)
{
$message->from($request->email, $request->name);
$message->to('[email protected]');
});
return view('quotation.index');
}
При замене $request->email
на строку электронной почты функция работает. Но электронное письмо должно быть отправлено с адреса электронной почты, введенного в форму laravel. Может ли кто-нибудь помочь мне решить эту проблему?
Вы получаете эту ошибку, потому что передаете переменные в закрытие, но неправильным образом.
Вы должны использовать use ($request)
в закрытии, если хотите передать переменную.
public function contact(Request $request) {
Mail::raw($request->message, function($message) use ($request)
{
$message->from($request->email, $request->name);
$message->to('[email protected]');
});
return view('quotation.index');
}
Надеюсь это поможет.
Вы получаете ошибку в этой строке
$message->from($request->email, $request->name);
?