E-posta Adresinin Doğruluğunu Kontrol Etmek

12 Ağu 2010 Per 2 yorum

Bu fonksiyon ile kullanıcılarınızın gerçek e-posta adresleri girmelerini sağlayabilirsiniz.

Artık birçok forum sitesi e-posta ile aktivasyon yapmak yerine kullanıcı bilgilerini aldıktan sonra hemen üyeliği başlatıyor. Bunu yapmalarındaki tek neden ise daha fazla üye kazanmak. Çünkü çoğu internet kullanıcısı içeriğini sadece üyelerine sunan sitelere rastladıklarında aktivasyon ile uğraşmayı istemeyip başka sayfalara yöneliyor.

Aktivasyon olayını kaldırarak kullanıcılara hemen üyelik veren siteler, üyelerine daha sonra ulaşabilmek için e-posta adresinin doğruluğunu kontrol etmek zorunda. Tabi bunu sadece yapı olarak yapmak mümkün. Adresin gerçekten kullanımda olup olmadığı bilgisine ulaşılamıyor.

E-posta adreslerinin yapı olarak doğruluğunu kontrol eden fonksiyonu aktivasyon gerektiren gerektirmeyen tüm sitelerde kullanabilirsiniz. Hatta AJAX kullanarak kullanıcı adresi yanlış yazdığında onu uyarabilir, doğru yazdığında bildirebilirsiniz.

PHP Fonksiyonu:

function eposta_kontrol($email) {
if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email))
{
return false;
}
$email_array = explode("@", $email);
$local_array = explode(".", $email_array[0]);
 for ($i = 0; $i < sizeof($local_array); $i++)
 {
 if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i]))
 {
 return false;
 }
 }
 if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1]))
 {
 $domain_array = explode(".", $email_array[1]); if (sizeof($domain_array) < 2)
 {
 return false;
}
for ($i = 0; $i < sizeof($domain_array); $i++)
{
    if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i]))
{
    return false;
}
 }
 
 }
 return true;
 }  

Kullanımı:

if(eposta_kontrol($epostaniz))
echo "E-posta adresiniz geçerli";
else
echo "E-posta adresiniz geçerli değil, düzeltiniz.";

 

Unutmayın; bu fonksiyon e-posta adresinin sadece yapı olarak uyumlu olup olmadığına bakıyor, gerçekte kullanımda olduğu bilgisine bakmıyor. O yüzden üyelik sırasında kullanıcı aaa@bbb.com şeklinde bir adres vererek kayıt olabilir, çünkü bu yapı e-posta kurallarına uyuyor.

16447 kez okundu.

2 Yorum Var

  1. ece demiş ki

    birazcık yardım edin bu ne be :/ hayret bişey yaaaaaaaa

  2. Umit demiş ki

    öncelikle çok teşekkürler , ancak :

    if (!eregi ("^([a-z0-9_]|\\-|\\.) @(([a-z0-9_]|\\-) \\.) [a-z]{2,4}$", $mail)){
    die ("Gecersiz Eposta Adresi Girdiniz : $mail");
    }

    sanki buda aynı işi yapıyor..
    artı olarak mailin gerçekliğini smtp kullanarak felan yani yapmayı sağlayabiliyormuyuz.. hani anlık bişey göndersin kontrol etsin..bazı sitelerde görüyorum ancak nasıl yapılır bilgim sıfır... şimdiden teşekkürler.



Yorum Yazın