我正在使用laravel的Mail功能发送用户的确认电子邮件。问题是,我收到错误“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 ..的调用范围不同。
关于如何解决这个问题的任何想法?
答案 0 :(得分:1)
你应该在你的闭包中使用use
语句来包含"包括" $email
和$name
变量:
\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');
}
);
答案 1 :(得分:0)
你需要使用那些变量
$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');
});
答案 2 :(得分:0)
您收到此错误是因为您尝试使用未定义的变量' email'在一个函数中,所以你需要包含一个' use'发表声明'电子邮件'闭包中可用的变量,如下所示:
$email="someemail@gmail.com";
$name="thename";
\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');
});
\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');
});