Laravel为什么说电子邮件不是定义的变量?
$title = 'hi';
$content = 'hi';
$email='topher@site.com';
Mail::send('confirmation', ['title' => $title, 'content' => $content], function ($message) {
$message->from('john@site.com', 'Topher');
$message->to($email);
});
答案 0 :(得分:4)
您正在函数中使用它,这就是另一个作用域。在函数参数之后添加use($email)
。
function($message) use($email)
答案 1 :(得分:3)
因为您正在访问另一个函数作用域内的$email
变量。
代替
Mail::send('confirmation', ['title' => $title, 'content' => $content], function ($message) {
添加use
关键字以将$email
变量包括在闭包函数的作用域之内。
Mail::send('confirmation', ['title' => $title, 'content' => $content], function ($message) use($email) {
答案 2 :(得分:0)
这超出了您的功能范围。试试这个:
$title = 'hi';
$content = 'hi';
Mail::send('confirmation', ['title' => $title, 'content' => $content], function ($message) {
$email='topher@site.com';
$message->from('john@site.com', 'Topher');
$message->to($email);
});