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'] = "Død"; 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
"; } else { echo "--
"; 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 "

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) Sección Head Sección Body
Introduce tu e-mail