Laravelでパスワードリセット機能を実装したい
発生している問題・エラーメッセージ
パスワードリセットのためのメールが届きません
該当のソースコード
言語:PHP
ソースコード
public function sendResetLinkEmail(Request $request)
{
$validator = Validator::make($request->all(), [
'email' => 'required|email|exists:users,email',
]);
if ($validator->fails()) { return response()->json(['error' => 'メールアドレスが間違っています'], 400); } $status = Password::sendResetLink($request->only('email')); return $status === Password::RESET_LINK_SENT ? response()->json(['message' => 'パスワードリセットリンクメールを送信しました。'], 200) : response()->json(['error' => 'パスワードリセットリンクメールの送信に失敗しました。'], 400);
}
送信しましたというメッセージが表示されても、メールの受信画面には来ていません
https://appdev-room.com/php-laravel-api-auth-password-reset こちらのサイトを参考にさせていただきました。
.envに書いたこと
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=自分のメールアドレス
MAIL_PASSWORD=アプリパスワード
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=自分のメールアドレス
MAIL_FROM_NAME="${APP_NAME}"
試したこと
.envファイルに自身のGメールアドレスとアプリパスワードを入力しました。.envファイルに関してネット上のサイトで書き方を調べました。
補足情報(FW/ツールのバージョンなど)
Password::sendResetLinkというコードがメール送信を行っており、メール送信には.envファイルへの必要情報の書き込みがいると調べたサイトには記載がありましたが、それを書いて実行してもメールが届きませんでした。
バージョンはLaravel 12.20.0です。ローカル環境で動かしています。