Kendi mail sunucumla da denedim, gmail ile de denedim ve uygulama şifresi alarakta denedim bi türlü gönderemedim, Tls de ssl de denedim. Yardımcı olursanız sevinirim.
<?php
require_once('inc/config.php');
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'PHPMailer/src/Exception.php';
require 'PHPMailer/src/PHPMailer.php';
require 'PHPMailer/src/SMTP.php';
if ($_POST) {
$email = trim($_POST['email']);
if (!$email) {
echo "Boş alan bırakmayınız.";
}else{
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo "eposta formatı yanlış girildi!";
}else{
$varmi = $db->prepare("SELECT userName,userMail FROM users WHERE userMail = ?");
$varmi->execute(array($email));
if ($varmi->rowCount()) {
//isim alma
$row = $varmi->fetch(PDO::FETCH_ASSOC);
$sifirlamaKodu = uniqid();
$sifirlamaLinki = "https://localhost/vvvv/forgotpassword.php?code=".$sifirlamaKodu;
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = "tls";
$mail->Port=587;
$mail->Host = "smtp.gmail.com";
$mail->Username = "gondericimail@gmail.com";
$mail->Password = "";
$mail->AddAddress = "alicimail@gmail.com";
$mail->Subject = "Şifremi sıfırla";
$mail->Body = $sifirlamaLinki;
if ($mail->Send()) {
echo "Şifre sıfırlama linkiniz gönderildi.";
}else{
echo "Hata oluştu.";
}
}else{
echo "Girilen eposta adresi sistemde mevcut değildir.";
}
}
}
}
?>