Php 拉威尔5->;将第二个参数传递给Mail::send方法
我想修改AuthController中的create方法。在用户发送注册表后,应向其发送带有验证链接的邮件。差不多完成了,但是我有一个问题,将用户的详细信息传递到函数中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' =>
$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).
是我一直在寻找的东西。