Laravel:尝试发送邮件,变量undefined

Jur*_*ter 1 php mail-sender laravel

嗨我试图发送邮件,但当我尝试使用Mail :: Send但我创建的变量有信息将发送到哪个邮件将不会进入Mail :: Send部分.我不知道为什么它总是告诉我未定义的变量,当它定义在右上方时.这是代码

$result = DB::table('perfil')->where('usuario', $object['usuario'])->first();

        $info = array('confirmation_code' => $result->codigoVerificacion, 'nombre' => $result->nombre);

        $mail = $result->correoVerificado;

        $nombre = $result->nombre.' '.$result->primerPaterno.' '.$result->segundoApellido;

        Mail::send('emails.registro_nuevo_usuario', $info, function($message)
        {

            $message->from('jfeuchter@gmail.com', 'Jurgen Feuchter');

            $message->to($mail, $nombre)
                ->subject('¡Bienvenido a la mejor red social para pedir y dar rides!');
        });
Run Code Online (Sandbox Code Playgroud)

如果您需要更多代码,请向我索取:P

'未定义变量:邮件'在\ app\controllers\registroController.php中:103

Dam*_*rsy 7

$mail来自闭包之外,因此它在其范围内不可用(不像$message通过该send()方法作为参数传递).你需要通过使用use关键字传递它(我相信会发生同样的事情$nombre)

Mail::send('emails.registro_nuevo_usuario', $info, function($message) use($mail, $nombre)
{
 $message->from('jfeuchter@gmail.com', 'Jurgen Feuchter')
          ->to($mail, $nombre)
          ->subject('¡Bienvenido a la mejor red social para pedir y dar rides!');
});
Run Code Online (Sandbox Code Playgroud)