我想在AuthController中修改create方法。用户发送注册表后,应将带有验证链接的邮件发送给用户。差不多完成了,但是我有一个问题,即将用户详细信息传递给函数。
这是我现在拥有的:
Mail::send('mails.registrierung', $data, function($message){
$message->from('[email protected]', 'Registrierung');
$message->to('[email protected]');
});
但很明显,硬编码的电子邮件无法正常工作。所以我想将创建的用户传递给函数。我试图global $user
在功能内(没有成功)。我还尝试传递第二个参数,例如:
Mail::send('mails.registrierung', $data, function($message, $user) {
$message->from('[email protected]', 'Registrierung');
$message->to($user->email);
});
结果是此错误消息(对于Mail :: send(....)行):
App \ Http \ Controllers \ Auth \ AuthController :: App \ Http \ Controllers \ Auth {closure}()缺少参数2
我的整个创建方法:
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('[email protected]', 'Registrierung');
$message->to($user->email);
});
return $user;
}
任何的想法?谢谢!
您可以使用所有数据创建一个array(),然后将该数组传递给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']);
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句