Merhabalar, şifremi unuttum sistemi yaptım ancak mail gönderilmiyor, 500 hatası alıyorum postladığım sayfada. PDO kullanmıyorum, bildiğimiz standart yöntemle çalışıyo bütün sistem.
kodlarım
$yenisifre = sifre_uret(6);
if($_POST){
$eposta = $_POST['eposta'];
$eposta_kontrol = mysql_query("select * from UyeTablosu where eposta='".$eposta."'") or die (mysql_error());
$eposta_varmi = mysql_num_rows($eposta_kontrol);
if($eposta_varmi < 1)
{
echo "Hata";
return;
}else{
include('../fun/class.phpmailer.php');
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->Host = 'mail.siteadresim.com';
$mail->Port = 25;
$mail->Username = 'adres@siteadresim.com';
$mail->Password = 'sifrem';
$mail->SetFrom($mail->Username, 'Destek');
$mail->AddAddress($eposta);
$mail->CharSet = 'UTF-8';
$mail->Subject = 'Hesap şifre sıfırlama işleminiz';
$mesaj = "Şifre sıfırlama talebiniz doğrultusunda şifreniz değiştirilmiştir.<br><br>Yeni Şifreniz: <b>".$yenisifre."</b>";
$mail->MsgHTML($mesaj);
if($mail->Send()) {
$postalasifre = md5(md5(sha1($yenisifre)));
$guncelle=mysql_query("UPDATE UyeTablosu SET parola='$postalasifre' WHERE eposta='$eposta'");
echo "1";
} else {
echo 'e1';
}
}
}
phpmailler sınıfında gönderirken PHPMailerAutoload.php dosyasını include etmeniz gerekiyor. class.phpmailer.php, class.smtp.php, PHPMailerAutoload.php dosyalarını aynı klasörde toplayın sadece autoload dosyasını include edin.
$mail->Port = 25
25 nolu port kapalıdır o yüzden bunu da 587 olarak değiştirmeyi unutmayın.