<?php
require_once('config/config.php');
require 'config/PHPMailer-master/src/PHPMailer.php';
require 'config/PHPMailer-master/src/SMTP.php';
require 'config/PHPMailer-master/src/Exception.php';

// Sayfa başlığı ayarı
$title = "Şifremi Unuttum - $siteName";

include('config/head.php');
include('config/nav.php');

// Şifre Sıfırlama İsteği Oluşturma (İsteğin Gönderildiği Sayfa)
if (isset($_POST['forgot_password'])) {
    $email = $_POST['email'];
    $requester_ip = $_SERVER['REMOTE_ADDR']; // Kullanıcının IP adresini al

    $token = bin2hex(random_bytes(32)); // Rastgele bir sıfırlama tokeni oluşturun

    // Kullanıcıyı token ile ilişkilendirin ve token'in süresini belirleyin (örneğin 15 dakika)
    $sql = "INSERT INTO password_resets (email, token, created_at, requester_ip) VALUES (?, ?, NOW(), ?)";
    $stmt = $pdo->prepare($sql);
    $stmt->execute([$email, $token, $requester_ip]);

    // Kullanıcıya e-posta gönderin ve sıfırlama bağlantısını içeren bir link gönderin
    $reset_link = "https://domainim.net/reset_password.php?token=" . $token;

    // PHPMailer kullanarak e-posta gönderme
    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\SMTP;
    use PHPMailer\PHPMailer\Exception;

    $mail = new PHPMailer;
    $mail->isSMTP();
    $mail->Host = ''; // E-posta sunucu adresi
    $mail->SMTPAuth = true;
    $mail->Username = ''; // E-posta adresiniz
    $mail->Password = ''; // E-posta şifreniz
    $mail->SMTPSecure = 'tls';
    $mail->Port = 587;

    $mail->setFrom('', 'Your Name');
    $mail->addAddress($email); // Kullanıcının e-posta adresine gönder

    $mail->isHTML(true);
    $mail->Subject = "Şifre Sıfırlama İsteği";
    $mail->Body = "Şifrenizi sıfırlamak için aşağıdaki bağlantıya tıklayın:<br>$reset_link";

    if (!$mail->send()) {
        $_SESSION['error_message'] = 'E-posta gönderme hatası: ' . $mail->ErrorInfo;
    } else {
        $_SESSION['success_message'] = "Şifre sıfırlama bağlantısı e-posta adresinize gönderildi. Lütfen kontrol edin.";
    }

    // Kullanıcıya başarılı bir mesaj gösterin ve yönlendirme yapın
    header("Location: forgot_password.php");
    exit();
}
?>

<div class="container">
    <div class="row justify-content-center">
        <div class="col-md-6">
            <h2 class="mt-5 mb-4">Şifremi Unuttum</h2>
            <form action="forgot_password.php" method="post">
                <div class="mb-3">
                    <label for="email" class="form-label">E-posta Adresi</label>
                    <input type="email" class="form-control" id="email" name="email" required>
                </div>
                <button type="submit" name="forgot_password" class="btn btn-primary">Şifremi Sıfırla</button>
            </form>
        </div>
    </div>
</div>

<?php
include('config/footer.php');
?>
internetten baktığım kadarıyla php mailer kullanmaya çalıştım.


    // PHPMailer kullanarak e-posta gönderme
    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\SMTP;
    use PHPMailer\PHPMailer\Exception;
bu kısmi silince sayfa açılıyor. Bu kişim varken 500 hatası alıyorum. Ne yapmalıyım?


https://github.com/PHPMailer/PHPMail...ive/master.zip
phpmailer ı buradan indirdim ve config dosyasının içine unzip ettim