前提
laravelを使用してのパスワードリセット機能を自作しようとしているのですが、
下記サイトを参考にしているのですが、controllerの「sendEmailResetPassword」部分がうまく進みません。
パスワードを入力すると読み込みはされるので大丈夫だとは思うのですが、パスワード入力後はroute「password_reset.email.form」にルーティングされてしまいます。(password_reset.email_formが間違っていたのでpassword_reset.email.formに変えています。)
サイトの通りに記載したと思うのですが、どの様にすればメールが送信される様になるのでしょうか?
参考サイト
https://takuma-it.com/laravel-password-reset/
実現したいこと
パスワードリセット機能を実行したいが、controllerの「sendEmailResetPassword」部分がうまく進まない
発生している問題・エラーメッセージ
エラーは表示されないが、password_reset.email.formへコールバックされてしまう。
該当のソースコード
入力したメールアドレスが入ることは確認済み
php
1 /** 2 * ユーザーのパスワード再設定メール送信 3 * 4 * @param SendEmailRequest $request 5 * @return \Illuminate\Http\RedirectResponse 6 */ 7 public function sendEmailResetPassword(SendEmailRequest $request) 8 { 9 try { 10 $user = $this->userRepository->findFromEmail($request->email); 11 $userToken = $this->userTokenRepository->updateOrCreateUserToken($user->id); 12 Log::info(__METHOD__ . '...ID:' . $user->id . 'のユーザーにパスワード再設定用メールを送信します。'); 13 Mail::send(new UserResetPasswordMail($user, $userToken)); 14 Log::info(__METHOD__ . '...ID:' . $user->id . 'のユーザーにパスワード再設定用メールを送信しました。'); 15 } catch(Exception $e) { 16 Log::error(__METHOD__ . '...ユーザーへのパスワード再設定用メール送信に失敗しました。 request_email = ' . $request->email . ' error_message = ' . $e); 17 return redirect()->route('password_reset.email.form') 18 ->with('flash_message', '処理に失敗しました。時間をおいて再度お試しください。'); 19 } 20 // メール送信完了画面への不正アクセスを防ぐためのセッションキー 21 session()->put(self::MAIL_SENDED_SESSION_KEY, 'user_reset_password_send_email'); 22 23 return redirect()->route('password_reset.email.send_complete'); 24 }
試したこと
サイトのコードを確認し、どこか変な箇所がないか確認しました。
補足情報(FW/ツールのバージョンなど)
laravel9
mysql
mamp

回答1件
あなたの回答
tips
プレビュー