我正在使用Laravel 5.3并自定义密码重置电子邮件模板。我做了以下更改,以使用自定义Mailable类创建我自己的HTML电子邮件通知。这是我迄今取得的进展:自定义重置密码电子邮件并在Laravel 5.3中传递用户数据
ForgotPasswordController:
public function postEmail(Request $request)
{
$this->validate($request, ['email' => 'required|email']);
$response = Password::sendResetLink($request->only('email'), function (Message $message) {
$message->subject($this->getEmailSubject());
});
switch ($response) {
case Password::RESET_LINK_SENT:
return Response::json(['status' => trans($response)], 200);
case Password::INVALID_USER:
return Response::json(['email' => trans($response)], 400);
}
}
用户模型:
public function sendPasswordResetNotification($token)
{
Mail::queue(new ResetPassword($token));
}
ResetPassword可邮寄类:
protected $token;
public function __construct($token)
{
$this->token = $token;
}
public function build()
{
$userEmail = 'something'; // How to add User Email??
$userName = 'Donald Trump'; // How to find out User's Name??
$subject = 'Password Reset';
return $this->view('emails.password')
->to($userEmail)
->subject($subject)
->with([
'token' => $this->token
'userEmail' => $userEmail,
'userName' => $userName
]);
}
如果您发现上述内容,我不确定如何传递用户的姓名并找出用户的电子邮件地址。我是否需要从用户模型发送这些数据,或者从Mailable类中查询它?有人能告诉我我该怎么做吗?
这不是很清楚。您何时或何时使用此电子邮件通知?我的意思是,你是否在用户密码重置之后使用它?或者你的意思是密码重置电子邮件,其中包含重置密码的链接?我说我可以帮你,但我根本不了解这种情况。 –
感谢您的关注@JulianRodriguez我正在尝试在包含重置密码表单链接的密码重置电子邮件中执行此操作。我用'ForgotPasswordController'更新了我的帖子。基本上我试图将'Notification'替换为'Mailable'类,以便在重置链接邮寄时为此设置不同的html布局。 – Neel