1

您好我正在尝试发送邮件,但是当我尝试使用 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!');
        });

如果您需要更多代码,请向我询问:P

\app\controllers\registroController.php:103 中的“未定义变量:邮件”

4

1 回答 1

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!');
});
于 2014-04-16T18:47:32.687 回答