Como verificar si un email en realidad existe usando PHP
Existen muchas formas de verificar si un email en realidad es válido, una de ellas es http://verify-email.org/ y de aqui surge la idea de este script, que aunque puede contener errores o no funcionar para todos los servidores de email, es una solucion rápida para verificar emails en PHP.
$email = "email@test.org"; // the email you want to verify list($userName, $mailDomain) = split("@", $email); $mxhosts = array(); if (getmxrr($mailDomain, $mxhosts)) { // it is a valid MX record... foreach ($mxhosts as $mxhost) { // checks for all mxhosts... $fp = fsockopen($mxhost, 25); if (!$fp) { // couldnt connect to mxhost... $verified = false; continue; } else { // it was connected to mxhost... $string = "HELO verify-email.org\r\n"; fputs($fp, $string); $buffer = fgets($fp,4096); $string = "MAIL FROM: <check@verify-email.org>\r\n"; fputs($fp, $string); $buffer = fgets($fp,4096); $string = "RCPT TO: <".$email.">\r\n"; fputs($fp, $string); $buffer = fgets($fp,4096); if (substr($buffer,0,3)!='250') { $verified = false; } else { $verified = true; } break; } fclose($fp); } } else { $verified = false; } if ($verified) { // this is a valid email... } else { // this is an invalid email... }
NOTA: Este script se conecta a los servidores de email del destinatario, no es recomendable utilizar el script dentro de un ciclo, ya que además de generar muchas conecciones, es posible que el servidor del destinatario bloquee tu dirección IP y el script deje de funcionar.
Tags: PHP