validate(['email' => 'required|email'], [ 'email.required' => 'E-posta zorunludur.', 'email.email' => 'Geçerli bir e-posta girin.', ]); $user = User::where('email', $request->email)->first(); // Kullanıcı bulunamasa bile aynı mesajı göster (güvenlik) if ($user) { $status = Password::sendResetLink( $request->only('email'), function (User $user, string $token) { $url = url(route('password.reset', ['token' => $token, 'email' => $user->email], false)); Mail::to($user->email)->send(new ResetPasswordMail($url, $user->name)); } ); } return back()->with('status', 'Eğer bu e-posta adresine kayıtlı bir hesap varsa şifre sıfırlama bağlantısı gönderildi.'); } public function showReset(Request $request, string $token) { return view('frontend.auth.reset-password', [ 'token' => $token, 'email' => $request->query('email', ''), ]); } public function reset(Request $request) { $request->validate([ 'token' => 'required', 'email' => 'required|email', 'password' => ['required', 'confirmed', PasswordRule::min(6)], ], [ 'password.required' => 'Şifre zorunludur.', 'password.confirmed' => 'Şifreler eşleşmiyor.', 'password.min' => 'Şifre en az 6 karakter olmalıdır.', ]); $status = Password::reset( $request->only('email', 'password', 'password_confirmation', 'token'), function (User $user, string $password) { $user->forceFill(['password' => Hash::make($password)])->save(); } ); if ($status === Password::PASSWORD_RESET) { return redirect()->route('frontend.login') ->with('status', 'Şifreniz başarıyla sıfırlandı. Giriş yapabilirsiniz.'); } return back()->withErrors(['email' => __($status)]); } }