existsByEmail($email)) { $errors[] = 'Aucun compte n’est associé à cette adresse e-mail.'; } else { $resetToken = bin2hex(random_bytes(32)); if (!$loginManager->setResetTokenByEmail($email, $resetToken)) { $errors[] = 'Erreur interne : impossible de générer le token de réinitialisation.'; } else { $resetLink = sprintf( 'https://www.giraud-finance.com/php/reset_password.php?token=%s', urlencode($resetToken) ); try { $mailer = new PHPMailer(true); $mailer->isSMTP(); $mailer->Host = 'mx.giraud-finance.com'; $mailer->SMTPAuth = true; $mailer->Username = 'jfgiraud@giraud-finance.com'; $mailer->Password = 'azertyQSDFGH123456+-'; $mailer->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; $mailer->Port = 587; $mailer->CharSet = 'UTF-8'; $mailer->Encoding = 'base64'; $mailer->setFrom('postmaster@giraud-finance.com', 'Giraud Finance'); $mailer->addAddress($email); $mailer->Subject = 'Réinitialisation de votre mot de passe - Giraud Finance'; $mailer->isHTML(true); $mailer->Body = sprintf( '
Bonjour,
Pour réinitialiser votre mot de passe, veuillez cliquer sur le lien suivant :
Ce lien est valide pendant 30 minutes.
Si vous n\'avez pas demandé cette réinitialisation, ignorez ce message.
', htmlspecialchars($resetLink, ENT_QUOTES, 'UTF-8') ); $mailer->AltBody = "Bonjour,\n\nPour réinitialiser votre mot de passe, veuillez utiliser ce lien : $resetLink\n\nCe lien est valide pendant 30 minutes.\n\nSi vous n\'avez pas demandé cette réinitialisation, ignorez ce message."; $mailer->send(); $successMessage = 'Nous avons bien pris en compte votre demande. Un lien de réinitialisation a été envoyé si votre adresse existe.'; } catch (Exception $mailException) { $errors[] = 'Impossible d\'envoyer l\'e-mail de réinitialisation : ' . $mailException->getMessage(); } } } } catch (Throwable $exception) { $errors[] = 'Erreur interne : impossible de traiter la demande pour le moment.'; } } } ?>Renseignez votre adresse e-mail pour réinitialiser votre mot de passe.