e-Posta adresi doğrulama

  • Teknoloji - Yazı 18 Ocak 2015

    Kullandığımız form sayfalarında istediğimiz e-posta adresinin saçma sapan girilmesini engellemek mi istiyorsunuz?

  • Share on FacebookTweet about this on TwitterShare on Google+Pin on Pinterest

    Her zaman karşılaşırız. Türk milleti olarak karşımıza çıkan her form bileşenine “asdsadasd” şeklinde girmeye alışığızdır. Sebebini sosyologlara bırakarak ben kendimle alakalı kısmına geçiyorum.

    İşte sizlere böyle bir durumda kullanıcının anlamsız bir e-posta adresi girmesini önlemek için yardımcı olacağım. Bilindiği gibi bir e-posta adresi “hesap@site.com” şeklindedir. İşte aşağıdaki fonksiyon; girilen metnin bu formatta olup olmadığını kontrol edip, bize true ve false döndürüyor. Bu işlemi Regular Axpressions (regexp) ya da Türkçe ifadesiyle Düzenli İfadeler ile gerçekleştiriyoruz.

    function is_mail_valid($mail) {
    $regex = ‘/^([A-Za-z0-9_\\-\\.])+\\@([A-Za-z0-9_\\-\\.])+\\.([A-Za-z]{2,4})$/’;
    return (preg_match($regex, $mail));
    }

    Hatırlatmak gerekirse bu fonksiyon e-posta adresinin kullanılıp kullanılmadığını değil formata uygun olup olmadığını kontrol ediyor.
    Eğer gerçekte böyle bir e-posta adresinin olup olmadığını da merak ediyorsanız onun için de bir çözümümüz var. Bunun için hazır bir web servisi var.

    http://www.webservicex.net/ValidateEmail.asmx?WSDL

    Bu servise bağlanarak adresin gerçekten var olup olmadığını öğrenebilirsiniz. Aşağıda iki farklı dilde servisin kullanımına örnek veriyorum.

    C#.Net

    net.webservicex.www.ValidateEmail Servis = New MailKontrol.webservicex.ValidateEmail();
    if (Servis.IsValidEmail(“hesap@site.com”) == true){
    MessageBox.Show(“Doğru”);
    } else {
    MessageBox.Show(“Yalnış”);
    }

    VB.Net

    Dim Servis As New net.webservicex.www.ValidateEmail
    If Servis.IsValidEmail(“hesap@site.com”) = True Then
    MessageBox.Show(“Doğru”)
    Else
    MessageBox.Show(“Yalnış”)
    End If