Genellikle eposta doğrulamak için kullanılan yöntem , bir düzenli ifade ile verile adresi doğrulamaktır :
1 2 3 |
Ama , bu sadece eposta adresinin belirli standartta yazılmasını sağlar, boyle@biradresyok.com yazdığınızda yukarıdaki kontrolü devredışı bırakır. Siz epostanın doğru olduğunu kabul edersiniz.
Eposta doğrulamanın bir başka yolu daha var . Verilen eposta adresine ait mx kaydının olup olmadığını kontrol etmek :
1 2 3 4 5 6 7 8 9 10 11 12 |
Bu yöntemin bir dezavantajı, mx kaydını kontrol ederken, mx kaydı olmayan bir adres olduğu zaman bir süre bekletmesidir (birkaç saniye). Bunun haricinde mx kaydı kontrol ederek eposta doğrulaması , diğer yöntemlere göre çok daha yüsek doğruluk payı olan sonuçlar verebilir.
Call to undefined function getmxrr()
hatası alıyorum localde.Sebebi Nedir acaba ?
Bir fikrim yok, bu fonksiyon php ile birlikte gelmekte ve herhangi bir eklenti aktif etmeniz gerekmemekte.
Bende öyle biliyordum ama sanırım localhostumla ilgili bir sorun,ilginiz için teşekkür ederim ersin bey.
Aşağıdaki gibi de kontrol yapılabilir. Regex bilmeyenler için daha basit bir yöntem.
$user_email = ‘hello@shenol.info’;
if (!filter_var($user_email, FILTER_VALIDATE_EMAIL)) {
echo “Hatalı e-posta adresi”;
}
Burda amaç filtrelemek değil, bu yüzden regex veya filter_var kullanmak aynı kapıya çıkıyor.