Laravel 邮件功能 - 范围问题?
Laravel mail function - scope issue?
我正在使用 laravel 的邮件功能发送用户的确认电子邮件。问题是,我收到一个错误 "Undefined variable: email"
这是我的代码:
$email="someemail@gmail.com";
$name="thename";
\Mail::send('emails.verify', ['confirmation_code' => $user->confirmation_code], function($message) {
$message->from('myemail@myserver.com', 'Confirmation')->to($email, $name)->subject('Please verify your email address');
});
显然声明的变量 $email 和 $name 与调用 $message->from.. 的范围不同..
关于如何解决这个问题有什么想法吗?
您应该在 "include" $email
和 $name
变量的闭包中使用 use
语句:
\Mail::send('emails.verify',
['confirmation_code' => $user->confirmation_code],
function($message) use ($email, $name) {
$message->from('myemail@myserver.com', 'Confirmation')
->to($email, $name)
->subject('Please verify your email address');
}
);
你需要使用那些变量
$email="someemail@gmail.com";
$name="thename";
\Mail::send('emails.verify', ['confirmation_code' => $user->confirmation_code], function($message) use ($email,$name) {
$message->from('myemail@myserver.com', 'Confirmation')->to($email, $name)->subject('Please verify your email address');
});
您收到此错误是因为您试图在函数中使用未定义的变量 'email',因此您需要包含一个 'use' 语句以使 'email' 变量在函数中可用闭包,像这样:
$email="someemail@gmail.com";
$name="thename";</p>
<code>\Mail::send('emails.verify', ['confirmation_code' => $user->confirmation_code], function($message) use ($email){
$message->from('myemail@myserver.com', 'Confirmation')->to($email, $name)->subject('Please verify your email address');
});
我正在使用 laravel 的邮件功能发送用户的确认电子邮件。问题是,我收到一个错误 "Undefined variable: email"
这是我的代码:
$email="someemail@gmail.com";
$name="thename";
\Mail::send('emails.verify', ['confirmation_code' => $user->confirmation_code], function($message) {
$message->from('myemail@myserver.com', 'Confirmation')->to($email, $name)->subject('Please verify your email address');
});
显然声明的变量 $email 和 $name 与调用 $message->from.. 的范围不同..
关于如何解决这个问题有什么想法吗?
您应该在 "include" $email
和 $name
变量的闭包中使用 use
语句:
\Mail::send('emails.verify',
['confirmation_code' => $user->confirmation_code],
function($message) use ($email, $name) {
$message->from('myemail@myserver.com', 'Confirmation')
->to($email, $name)
->subject('Please verify your email address');
}
);
你需要使用那些变量
$email="someemail@gmail.com";
$name="thename";
\Mail::send('emails.verify', ['confirmation_code' => $user->confirmation_code], function($message) use ($email,$name) {
$message->from('myemail@myserver.com', 'Confirmation')->to($email, $name)->subject('Please verify your email address');
});
您收到此错误是因为您试图在函数中使用未定义的变量 'email',因此您需要包含一个 'use' 语句以使 'email' 变量在函数中可用闭包,像这样:
$email="someemail@gmail.com";
$name="thename";</p>
<code>\Mail::send('emails.verify', ['confirmation_code' => $user->confirmation_code], function($message) use ($email){
$message->from('myemail@myserver.com', 'Confirmation')->to($email, $name)->subject('Please verify your email address');
});