我在PageController中创建了一个Laravel方法,用于在发送表单数据时发送电子邮件,如下所示:
public function sendMessage(Request $request)
{
$name = $request->input('name');
$email = $request->input('email');
$message_content = $request->input('message');
// email message
Mail::raw($message_content, function ($message)
{
$message->from($email, $name);
// $message->to(env('APP_ADMIN_EMAIL'));
$message->to("myemail@mail.com");
$message->subject('Website Message');
});
return "message sent";
}
但是在调用方法时我得到了这个错误:
ErrorException未定义的变量:电子邮件
有人可以解释我做错了吗?
答案 0 :(得分:9)
您需要将变量传递给闭包:
Mail::raw($message_content, function ($message) use ($email, $name)
{
$message->from($email, $name);
$message->to("myemail@mail.com");
$message->subject('Website Message');
});
请参阅文档:https://secure.php.net/manual/en/functions.anonymous.php