Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 拉威尔5->;将第二个参数传递给Mail::send方法_Php_Email_Laravel 5 - Fatal编程技术网

Php 拉威尔5->;将第二个参数传递给Mail::send方法

Php 拉威尔5->;将第二个参数传递给Mail::send方法,php,email,laravel-5,Php,Email,Laravel 5,我想修改AuthController中的create方法。在用户发送注册表后,应向其发送带有验证链接的邮件。差不多完成了,但是我有一个问题,将用户的详细信息传递到函数中 $data = array('email'=>$request->input('Email'), 'nombre'=>$request->input('Nombre')); \Mail::send('email.action', ['data' =>

我想修改AuthController中的create方法。在用户发送注册表后,应向其发送带有验证链接的邮件。差不多完成了,但是我有一个问题,将用户的详细信息传递到函数中

            $data = array('email'=>$request->input('Email'), 'nombre'=>$request->input('Nombre'));

            \Mail::send('email.action', ['data' => $data] , function ($message) use ($data) {
                //remitente
                $message->from(env('CONTACT_MAIL'), env('CONTACT_NAME'));
                //asunto
                $message->subject('Validación de Cuenta');
                //receptor
                $message->to($data['email'], $data['nombre']);
            });
以下是我现在拥有的:

Mail::send('mails.registrierung', $data, function($message){
    $message->from('registrierung@junperbo.de', 'Registrierung');
    $message->to('email@yxz.de');
});
但很明显,硬编码的电子邮件不起作用。所以我想把创建的用户传递给函数。我尝试在函数中
global$user
(未成功)。我还试图通过第二个论点,如:

Mail::send('mails.registrierung', $data, function($message, $user) {
    $message->from('registrierung@junperbo.de', 'Registrierung');
    $message->to($user->email);
});
结果是此错误消息(对于行Mail::send(..):

第二个论点缺失 App\Http\Controllers\Auth\AuthController::App\Http\Controllers\Auth{closure}()

我的整个创作方法:

protected function create(array $data)
{
    $user = User::create([
        'benutzername' => $data['benutzername'],
        'email' => $data['email'],
        'password' => bcrypt($data['password']),
        'bestaetigt' => 0,
        'verfikations_schluessel' => str_random(60)
    ]);

    $data['user'] = $user;

    Mail::send('mails.registrierung', $data, function($message, $user){
        $message->from('registrierung@junperbo.de', 'Registrierung');
        $message->to($user->email);
    });

    return $user;
}

有什么想法吗?谢谢

您的服务容器中已经有
$data['email']
。无需定义
$data['user']=$user

  • 功能($message,$user)
    更改为
    功能($message)

  • 并使用
    $message->to($data['email'])


  • 由于
    send()
    函数的第二个参数是
    $data
    ,因此您可以在
    Mail::send()

    中使用
    $data['email']
    的任何值。您的服务容器中已经有了
    $data['email']
    。无需定义
    $data['user']=$user

  • 功能($message,$user)
    更改为
    功能($message)

  • 并使用
    $message->to($data['email'])


  • 由于
    send()
    函数的第二个参数是
    $data
    ,因此可以在
    Mail::send()
    中使用
    $data
    的任何值,除了@smartrahat的正确答案外,还可以使用
    use
    关键字使变量在函数中可用:

    Mail::send('mails.registrierung', $data, function ($message) use ($user) {
        $message->from('registrierung@junperbo.de', 'Registrierung');
        $message->to($user->email);
    });
    

    除了@smartrahat的正确答案外,您还可以使用
    use
    关键字使变量在函数中可用:

    Mail::send('mails.registrierung', $data, function ($message) use ($user) {
        $message->from('registrierung@junperbo.de', 'Registrierung');
        $message->to($user->email);
    });
    
    您可以使用所有数据创建一个数组(),然后将该数组传递给Mail函数

                $data = array('email'=>$request->input('Email'), 'nombre'=>$request->input('Nombre'));
    
                \Mail::send('email.action', ['data' => $data] , function ($message) use ($data) {
                    //remitente
                    $message->from(env('CONTACT_MAIL'), env('CONTACT_NAME'));
                    //asunto
                    $message->subject('Validación de Cuenta');
                    //receptor
                    $message->to($data['email'], $data['nombre']);
                });
    
    您可以使用所有数据创建一个数组(),然后将该数组传递给Mail函数

                $data = array('email'=>$request->input('Email'), 'nombre'=>$request->input('Nombre'));
    
                \Mail::send('email.action', ['data' => $data] , function ($message) use ($data) {
                    //remitente
                    $message->from(env('CONTACT_MAIL'), env('CONTACT_NAME'));
                    //asunto
                    $message->subject('Validación de Cuenta');
                    //receptor
                    $message->to($data['email'], $data['nombre']);
                });
    
    谢谢
    …use($data).
    就是我要找的东西。谢谢!
    …use($data).
    是我一直在寻找的东西。