Kodladığımız projelerde sık sık girilen e-posta adreslerinin doğru olup olmadığını kontrol etmemiz gerekir. Bunun için farklı yollar izleyebiliriz. Daha önce Javascript İle E-Posta Adresi Doğrulama başlıklı yazımda yöntemlerden birine değinmiştim. Fakat bu tür yöntemler biraz çabayla atlatılabiliyor.
Çoğu kişinin e-posta doğrulama için kullandığı yöntem Regular Expressions adıyla bilinen düzenli ifadelerdir. Fakat düzenli ifadeler ile oluşturulmuş bir kontrol fonksiyonunu [email protected] gibi bir e-posta adresiyle rahatça aşabilirsiniz. İşte bunu önlemek için bize verilen e-posta adresine ait bir mx kaydı olup olmadığını kontrol edeceğiz. Domaine ait bir mx kaydı yoksa fonksiyonumuz bize geçerli değil gibi bir uyarı döndürecektir.
Php E-Posta Adresi Doğrulama (Mx Kaydı Kontrol Ederek) Fonksiyonu
$email='[email protected]'; $sunucu= substr($email,strpos($email,'@')+1); $sonuc= array(); getmxrr($sunucu,$sonuc); if(count($sonuc)>0){ echo 'adres gecerli'; }else { echo 'adres gecersiz'; }
Yukarıda paylaştığım fonksiyona Ersin Doğan’ın buradaki yazısından ulaştım ve paylaşmak istedim.
Ahmet bey kişisel domainleri sistem kabul ediyor mu ? yani ahmetiscan.web.tr adresiyle üye olmak isteyen kişi üye olabiliecek mi? Ayrıca [email protected] gibi [email protected] gibi adresler ne olacak? kabul edilecek mi edilmeyecek mi?
Evet kişisel domainleri de kapsamaktadır. E-posta adresinin alan adının mx kaydına göre geçerlilik testi yapmaktadır. Diğer türlü e-posta adresini birebir doğrulamak e-posta göndermeden çok da mümkün değil. Mümkünse de ben yolunu bilmiyorum açıkçası.