function ValidarMail($email) {
      global $HTTP_HOST;
       $resultado = array();
       if (!eregi("^[_\.0-9a-z\-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,6}$",$email)) {
         $resultadoado[0]=false;
         $resultado['code']="702";
          return $resultado;
       }
       list ( $Username, $dominio ) = split ("@",$email);
         if (getmxrr($dominio, $MXHost))  $conecta_dominio = $MXHost[0];
                  else  $conecta_dominio = $dominio;

        $conectar = fsockopen ( $conecta_dominio, 25 );

      if ($conectar) {

        if (ereg("^220", $ver = fgets($conectar, 1024))) {

           fputs ($conectar, "HELO $HTTP_HOST\r\n");
           $ver = fgets ( $conectar, 1024 );
           fputs ($conectar, "MAIL FROM: <{$email}>\r\n");
           $From = fgets ( $conectar, 1024 );
           fputs ($conectar, "RCPT TO: <{$email}>\r\n");
           $To = fgets ($conectar, 1024);
           fputs ($conectar, "QUIT\r\n");
           fclose($conectar);
           if (!ereg ("^250", $From) || !ereg ( "^250", $To )) {
               $resultado[0]=false;
               $resultado['code']="700";
               return $resultado;
            }
        }
           else {
              $resultado[0] = false;
              $resultado['code'] = "Dd";
              return $resultado;
            }
      }
        else {
            $resultado[0]=false;
            $resultado['code']="701";
            return $resultado;
      }

       $resultado[0]=true;
       $resultado['code']="200";
       return $resultado;
}


$existe = ValidarMail($email);
if($existe[0]) {
  //codigo para enviar el e-mail
}

unction microtime_float(){
	list($useg, $seg) = explode(" ", microtime());
	return ((float)$useg + (float)$seg);
}

$tiempo_inicio = microtime_float();
$dbhost = "localhost";
$dbuser = "user";
$dbpass = "pass";
$dbname = "database";

$conn = mysql_connect("$dbhost", "$dbuser", "$dbpass") or die('Could not connect: ' . mysql_error());
$dbselect = mysql_select_db("$dbname") or die ('Could not select database');
$listado = mysql_query("SELECT `email` FROM `wp_subscribe2` WHERE `active`='3'");
$i = 0;
$limpiados = 0;
while($row = mysql_fetch_row($listado)){
	set_time_limit(0);
	echo  $row[0]." ";
	$resultado = ValidarMail($row[0]);
	if($resultado[0]=="1"){
		mysql_query("UPDATE `wp_subscribe2` SET `active` = '1' WHERE `email`='".$row[0]."'");
		echo "ok<br>";
	}
	else {
		echo "--<br>";
		mysql_query("UPDATE `wp_subscribe2` SET `active` = '0' WHERE `email`='".$row[0]."'");
		$limpiados++;
	}
	$i++;
	if($i==100){
		break;
	}
}

$tiempo_fin = microtime_float();
$tiempo = $tiempo_fin - $tiempo_inicio;

echo "<br><br>Limpiados: ".$limpiados." correos de $i en " . round(($tiempo_fin - $tiempo_inicio)) ." segundos";



(no hace falta)
function getmxrr($hostname, &$mxhosts)
{
   $mxhosts = array();
   exec('nslookup -type=mx '.$hostname, $result_arr);
   foreach($result_arr as $line)
   {
     if (preg_match("/.*mail exchanger = (.*)/", $line, $matches))
         $mxhosts[] = $matches[1];
   }
   return( count($mxhosts) > 0 );
}


(crear tipo de campo mail, de forma que valide automaticamente)
Seccin Head
<SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript">
<!--
function checkMail(cadena) {
var plant = /[^\w^@^\.^-]+/gi
if (plant.test(cadena))
     alert(cadena + " contiene caracteres extraos.")
else{
     plant =/(^\w+)(@{1})([\w\.-]+$)/i
     if (plant.test(cadena))
         alert(cadena + " es correcta.")
     else
         alert(cadena + " no es vlida.")
}
}
// -->
</SCRIPT>
Seccin Body
<form name="form1" method="post" action="">
Introduce tu e-mail
<input type="text" name="email">
<input type="button" name="Button" value="Comprobar" onclick="checkMail(this.form.email.value)">
</form>
