Erhan Yakut Software Developer @Binalyze | Founder @Passwall | Golang Enthusiast | Open Sorcerer

PHP İpucu #3 – PHP ile E-posta Kontrolü

49 sec read

PHP’nin ne kadar esnek ve kullanımı kolay bir dil olduğunu her fırsatta söylerim. Bu kolaylıklardan birisi de e-posta adreslerinin kontrolünde geçerli. Bu kontrolü yapabileceğiniz iki örnek vermek istiyorum. Birisi standart bir Regex uygulaması, diğeri ise hem yazım kuralını kontrol eden hem de eposta adresinde belirtilen adresin erişebilirliğini test eden FILTER_VALIDATE_EMAIL kullanan bir kontrol. Artık hangisinin kullanacağınız size kalmış ;)

PHP Regex ile E-posta Kontrolü

[php]<?php
function epostaKontrol($eposta) {
if(preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/",$eposta))
{
list($username,$domain)= explode(‘@’,$eposta);
if(!checkdnsrr($domain,’MX’)) { return false;}

return true;
}
return false;
}

$eposta ="[email protected]"; //Buraya eposta adresini giriniz

if (epostaKontrol($eposta))
{
echo "E-posta adresi geçerli :)";
}
else
{
echo "Hatalı E-posta adresi :(";
}

?>[/php]

PHP FILTER_VALIDATE_EMAIL ile E-posta Kontrolü

[php]<?php
function epostaKontrol($eposta) {

//Eposta adresinin yazım kontrolü
if(!filter_var($eposta, FILTER_VALIDATE_EMAIL))
{
return false;
}

//Host (alanadı) kontrolü
list($user, $host) = explode("@", $eposta);
if (!checkdnsrr($host, "MX") && !checkdnsrr($host, "A"))
{
return false;
}

return true;
}

$eposta ="[email protected]"; //Buraya eposta adresini giriniz

if (epostaKontrol($eposta))
{
echo "E-posta adresi geçerli :)";
}
else
{
echo "Hatalı E-posta adresi :(";
}
?>[/php]

Erhan Yakut Software Developer @Binalyze | Founder @Passwall | Golang Enthusiast | Open Sorcerer