v2.5.2
Giriş yap

Php email onaylama

evelynpink
1,295 defa görüntülendi ve 2 kişi tarafından değerlendirildi

Php ile yaptıgım sitede Phpmailer kütüphanesini kullandım şuan için gmail üzerinden sorunsuz bir şekilde gönderim yapıyorum fakat bunu domaine atınca nasıl bir yol izlemem gerektigi hakkında bilgi almak istiyorum.

Cevap yaz
Cevaplar (4)
pcmemo
1629 gün önce

çalışmaması için bir sebep yok lokalde çalışırkende zaten maili gmailer attırmışsın. Sunucuya atınca yine gmail ile dene. Sonucu gör sonra kendi sunucunun mail bilgilerini girersin.

evelynpink
1629 gün önce

alan adımı godaddyden almayı düşünüyorum aynı şekilde epostayıda, aldıktan sonra mesela [email protected] diye degiştirdigimde çalışacak mı aynı kodlarım

evelynpink
1629 gün önce

merhabalar @byvenoms,
İlköncelikle zaman ayırıp cevapladıgın için çok teşekkür ederim. Çok işime yaradı.
Size şöyle bir soru sormak istiyorum şuanda üyeligi onaylama işlemini yapıyorum Gmail hesabı kullanarak, fakat bunu hostinge attıktan sonra

$mail = new PHPMailer;
$mail->isSMTP();
$mail->SMTPDebug = false;
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->Username = '[email protected]';
$mail->Password = 'test';
$mail->setFrom('[email protected]', 'test.com');

bu kısımda username ve password yazan yerleri [email protected] diye degiştirmem yetecek mi yoksa başka bir işlem yapmam gerekir mi?

byvenoms
1629 gün önce

Merhaba dostum,

Sorunu şöyle yanıtlayabilirim. Üyeler tablona iki tane sütun ekleyeceğiz. uye_onay ve uye_token olarak. Sitende üye kaydı yapıldığı zaman uye_onay otomatik olarak 0 değerini alacaktır, uye_token tablosuna ise istediğin uzunlukta eşsiz bir token kodu oluşturup bu token kodunu mail yoluyla üyeye göndereceğiz. Sana kendi kullandığım token oluşturma fonksiyonumu veriyorum.

function tokengenerator($uzunluk)
{
	$char = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" . "abcdefghijklmnopqrstuvwxyz" . "0123456789";
	$str  = "";
	while (strlen($str) < $uzunluk) {
		$str .= substr($char, (rand() % strlen($char)), 1);
	}
	return ($str);
}

Üye kaydı oluşturulduğu anda bir değişkene token kodumuzu aldıralım. Mesela $user_token = tokengenerator(50); şeklinde 50 karakterli bir token kodu oluşturduk. Bu oluşturduğumuz token kodu veritabına yazıldı. Üye işlemi başarılı olursa $user_token değişkenini mail yoluyla kullanıcıya göndermeliyiz. Örnek olarak https://ornek.com/aktivasyon.php?token=[oluşturulan_token] şeklinde bir link olarak kullanıcıya posta yoluyla gönderildik. Şimdi yapmamız gereken aktivasyon.php dosyasımızı yazmak.

<?php

if(isset($_GET['token'])){
 $query = $db->query("SELECT * FROM uyeler WHERE uye_token = '{$_GET['token']}'")->fetch(PDO::FETCH_ASSOC);   
    if($query){
        $onay = $db->prepare("UPDATE uyeler SET
                uye_onay = :uye_onay
                WHERE uye_token = :uye_token");
        $update = $onay->execute(array(
                 "uye_onay" => 1,
                 "uye_token" => $_GET['token']));
    } else {
        die("Gerçersiz istek yapıldı!");
    }
}
?>

Evet şuan üye onaylama işlemimiz tamamlandı. Üye sayfalarının başında bir kontrol işlemi gerçekleştirmen gerekmektedir. Örneğin üye bilgileri $user_info değişkeninde tutulsun. Her sayfanın başına şu kodun yazılması gerekiyor.

if($user_info['uye_onay'] == 0){
    header("Location: e-posta-dogrula.php");
 }

Bu kod ile eğer üyelik onayı yoksa e-posta-dogrula.php dosyasına bir yönlendirme yapıp üyeyi uyarabilirsin. Kodlarımda bir hata olabilir ama mantığını anladıysan çözümünü bulursun :)
İyi çalışmalar dilerim