Laravel 5.3 を使用し、パスワード リセット メール テンプレートをカスタマイズしています。カスタム Mailable クラスを使用して通知用の独自の HTML メールを作成するために、次の変更を行いました。これまでの私の進捗状況は次のとおりです。
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
]);
}
上記に気付いた場合、ユーザーの名前を渡してユーザーのメールアドレスを見つける方法がわかりません。このデータを User Model から送信する必要がありますか、それとも Mailable クラスからクエリを実行する必要がありますか? 誰かが私にそれを行う方法を教えてもらえますか?