Función para validar e-mails en PHP

Esta es una función muy práctica que además de comprobar que es un e-mail correcto comprueba que el dominio existe y aloja e-mails, la encontré perdida por un código antiguo(mío no era) y aqui os la dejo.


function check_email_mx($email) {
if( (preg_match('/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/', $email)) ||
(preg_match('/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/',$email)) ) {
$host = explode('@', $email);
if(checkdnsrr($host[1].'.', 'MX') ) return true;
if(checkdnsrr($host[1].'.', 'A') ) return true;
if(checkdnsrr($host[1].'.', 'CNAME') ) return true;
}
return false;
}
if (!function_exists('checkdnsrr')) {
function checkdnsrr($host, $type = '') {
if(!empty($host)) {
if($type == '') $type = "MX";
@exec("nslookup -type=$type $host", $output);
while(list($k, $line) = each($output)) {
if(eregi("^$host", $line)) {
return true;
}
}
return false;
}
}
}

Leave a Reply

Sobre mi

Soy un estudiante de Administración y Dirección de Empresas apasionado por el mundo de internet. Tengo 20 años, vivo en madrid la mayoría del año y opero una red de webs de ocio bajo mi empresa Saez Media SL.

José Sáez

Dopplr

Twitter

  • Se agradecen RTs del tema del juego 5 days ago
  • Estoy lanzando un juego de facebook(de mafiosos) y necesito beta testers, si alguien se anima a probarlo mandad DM! 5 days ago
  • cuanto más uso mac más me doy cuenta de lo poco que me queda para cambiarme 2 weeks ago
  • alguien conoce alguna asociacion española en #haiti que necesite gente? 1 month ago
  • “La razón por la que quieren que encajes es porque cuando lo hagas, entonces, podrán ignorarte”. de @sethgodin 1 month ago