Email 未定义的值

Email 未定义的值,email,laravel,laravel-4,Email,Laravel,Laravel 4,在我的laravel项目中,我试图发送一封包含以下代码的电子邮件: $mailTo = "theemail@hotmail.com"; $mailToName = "hisname"; Mail::send('emails.message.showmessage', array( 'name' => $mailToName), function($message) { $message->to($mailTo, $mailToName

在我的laravel项目中,我试图发送一封包含以下代码的电子邮件:

    $mailTo = "theemail@hotmail.com";
    $mailToName = "hisname";

    Mail::send('emails.message.showmessage', array( 'name' => $mailToName), function($message)
    {
        $message->to($mailTo, $mailToName)->subject('New message');
    });
但我得到了一个错误:

Undefined variable: mailTo

这怎么可能?我用未定义的变量明确地设置了变量:mailTo,它是否在Mail函数中未设置?

要在闭包(又称匿名函数)中使用局部变量,您需要使用
use()


use
中指定的所有变量都将在闭包内可用,而其他变量则不可用。

谢谢你,我认为,因为它是在函数范围之外定义的,所以它是可用的。
Mail::send('emails.message.showmessage', array( 'name' => $mailToName), function($message) use ($mailTo, $mailToName)
{
    $message->to($mailTo, $mailToName)->subject('New message');
});