我正在尝试构建联系表单,我希望它为网站电子邮件发送用户消息,我希望它为用户邮件发送消息,通知他收到了他的消息,所以我在控制器中使用此代码:
public function mail(Request $request) {
Mail::send('mail.mail', ['name'=>"$request->name" , 'email'=>"$request->email" , 'msg'=>"$request->message"], function($message) {
$message->to('housma.elma@gmail.com', 'Housma')->subject('Housma.com enquiry');
});
Mail::send('mail.mailResponse', ['name'=>"$request->name" ], function($message ) {
/*line 29 */
$message->to("$request->email", "$request->name")->subject('Housma.com : Auto reply');
});
return Redirect::to('/contact')->with('successful', 'Your message has been sent');
}
我的电子邮件的第一条消息工作正常,但当Laravel到达第二条消息时,我收到此错误
pagesController.php中的ErrorException第29行:未定义的变量:request
3 回答
用28替换第28行
在PHP中,如果要在闭包中使用变量,则需要使用
use ($variablename)
它's not that you can' t使用它两次,但Mail :: send无法访问它 . 您需要使用
use
语句传递它:可能是你应该将$ request传递给关闭 . 像这样 !