我有这个代码用于从Laravel发送邮件。此代码运行良好。
Mail::send('emails.auth.accept', array(), function($message) {
$message->to('abc@gmail.com', 'abc')->subject('This is a demo!');
});
但我只能使用硬编码值发送消息,例如abc@gmail.com.
每当我尝试这个。
Mail::send('emails.auth.accept', array(), function($message) {
$message->to($user, $name)->subject('This is a demo!');
});
上面的代码给了我错误:未定义的变量:user。这意味着它不接受动态价值观。帮帮我。
您应该使用
//see use statement
Mail::send('emails.auth.accept', array(), function($message) use($user, $anything) {
$message->to('abc@gmail.com', 'abc')->subject('This is a demo!');
});
代码的问题在于,匿名函数有自己的上下文,其中的数据不可用。这就是为什么您需要使用use
语句将数据从方法的上下文传递给匿名函数。
有关更多信息,您可以查看此链接http://php.net/manual/en/functions.anonymous.php
您想要使用。这里有一个提供示例的链接。
http://forumsarchive.laravel.io/viewtopic.php?id=8264