Mail::send laravel - 如何访问 $message->to($variable);

1 php oop laravel laravel-5

我正在使用下面的功能来发送电子邮件:

public static function send_welcome_mail($user,$code)
{
    Mail::send('auth.email.welcome',['user'=>$user,'code'=>$code], function ($message)
    {
        $message->subject('Welcome');
        $message->from('info@example.com', 'Example');
        $message->to('info@exampleReceiver.com');
    });
}
Run Code Online (Sandbox Code Playgroud)

发送电子邮件工作正常,但是当我更改为此(添加接收者)时:

public static function send_welcome_mail($user,$code,$receiver)
{
    Mail::send('auth.email.welcome',['user'=>$user,'code'=>$code], function ($message)
    {
        $message->subject('Welcome');
        $message->from('info@example.com', 'Example');
        $message->to($receiver);
    });
}
Run Code Online (Sandbox Code Playgroud)

我收到错误:

未定义的变量:receiverEmail

Ser*_*lla 5

您需要使用use关键字包含该变量

public static function send_welcome_mail($user,$code,$receiver)
{
    Mail::send('auth.email.welcome',
               ['user'=>$user,'code'=>$code], 
               function  ($message) use ($receiver) 
    {
        $message->subject('Welcome');
        $message->from('info@example.com', 'Example');
        $message->to($receiver);
    });
}
Run Code Online (Sandbox Code Playgroud)