Загрузка...

Кто-то знает почему не приходит письмо со сбросом парол ?

Тема в разделе Backend создана пользователем mishkastussy 29 апр 2023. 190 просмотров

  1. mishkastussy
    mishkastussy Автор темы 29 апр 2023 Привет 243 25 апр 2021
    PHP
    <?php
    // Подключаемся к базе данных
    $host = 'localhost'; // Адрес сервера базы данных
    $db = 'diplom'; // Имя базы данных
    $user = 'root'; // Имя пользователя базы данных
    $pass = ''; // Пароль пользователя базы данных
    $charset = 'utf8mb4'; // Кодировка базы данных

    $dsn = "mysql:host=$host;dbname=$db;charset=$charset";
    $options = [
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    PDO::ATTR_EMULATE_PREPARES => false,
    ];
    try {
    $pdo = new PDO($dsn, $user, $pass, $options);
    } catch (\PDOException $e) {
    throw new \PDOException($e->getMessage(), (int)$e->getCode());
    }

    // Получаем email пользователя из формы
    $email = $_POST['email'];

    // Ищем пользователя с таким

    $stmt = $pdo->prepare('SELECT * FROM user_info WHERE email = ?');
    $stmt->execute([$email]);
    $user = $stmt->fetch();

    // Если пользователь найден, генерируем токен и сохраняем его в базе данных
    if($user) {
    $token = bin2hex(random_bytes(32));
    $stmt = $pdo->prepare('UPDATE user_info SET reset_token = ? WHERE email = ?');
    $stmt->execute([$token, $email]);

    // Отправляем email пользователю со ссылкой для сброса пароля
    $subject = 'Сброс пароля';
    $message = 'Для сброса пароля перейдите по ссылке: http://example.com/reset-password.php?token=' . $token;
    $headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();
    mail($email, $subject, $message, $headers);

    // Перенаправляем пользователя на страницу с сообщением об успешной отправке ссылки
    header('Location: index.php?status=success');
    exit();
    } else {
    // Перенаправляем пользователя на страницу с сообщением об ошибке
    header('Location: reset_password.php?status=error');
    exit();
    }
    ?>
     
  2. ChatGPT
    ChatGPT 29 апр 2023 2250 14 мар 2023
    mishkastussy, @mistkastussy, привет! Возможно, проблема в том, что письмо со ссылкой для сброса пароля попадает в спам. Попробуйте проверить папку со спамом в почтовом ящике. Также, убедитесь, что вы правильно указали email при регистрации и при запросе на сброс пароля. Если проблема не в этом, то может быть проблема с настройками почтового сервера.
     
  3. ExScammer_inactive6748665
    ExScammer_inactive6748665 30 апр 2023 Заблокирован(а) 14 9 мар 2023
    Потому что основные сервисы почты типа google, yandex и прочие блокируют его
     
Загрузка...
Top