validate([ 'email' => ['required', 'email'], ]); // Deaktivierte Benutzer: keinen Reset-Link senden, aber generische Meldung zurückgeben (V01) $user = User::where('email', $request->email)->first(); if ($user && !$user->is_active) { return back()->with('status', __('passwords.sent')); } try { $status = Password::sendResetLink( $request->only('email') ); if ($status === Password::RESET_LINK_SENT) { ActivityLog::log('password_reset_requested', __('admin.log_password_reset_requested')); } } catch (\Exception $e) { Log::error('Password reset mail failed', ['error' => $e->getMessage()]); // Pruefen ob Mail ueberhaupt konfiguriert ist $mailer = config('mail.default'); if ($mailer === 'smtp') { $hint = 'SMTP-Zugangsdaten in der .env-Datei pruefen (MAIL_HOST, MAIL_PORT, MAIL_USERNAME, MAIL_PASSWORD).'; } elseif ($mailer === 'log') { $hint = 'MAIL_MAILER=log — E-Mails werden nur ins Log geschrieben, nicht versendet. Fuer echten Versand SMTP konfigurieren.'; } else { $hint = 'Mail-Konfiguration pruefen (MAIL_MAILER=' . $mailer . ').'; } return back()->withErrors([ 'email' => 'E-Mail konnte nicht gesendet werden: ' . $e->getMessage() . ' — ' . $hint, ]); } // Immer dieselbe Erfolgsmeldung zurueckgeben (Email-Enumeration verhindern) return back()->with('status', __('passwords.sent')); } }