Foros del Web » Programando para Internet » PHP »

verificar existencia de email en php

Estas en el tema de verificar existencia de email en php en el foro de PHP en Foros del Web. Hola genios, tengo este codigo que saque del php manual y estoy buscando la variable ( si es que esta ) con el resultado de ...
  #1 (permalink)  
Antiguo 27/03/2013, 05:44
 
Fecha de Ingreso: mayo-2008
Mensajes: 224
Antigüedad: 16 años, 6 meses
Puntos: 4
verificar existencia de email en php

Hola genios, tengo este codigo que saque del php manual y estoy buscando la variable ( si es que esta ) con el resultado de la verificacion y mi ignoraciona no deja que la encuentre.

La idea es que si existe envio el email sino no envio nada.

Cuando ejecuto la pagina en el servidor no me dice ni mu.

Pliss helppp !!!!

De antemano muchas gracias!!!

Código PHP:
<?
$email
="[email protected]";
function 
validate_email($email){
   
$mailparts=explode("@",$email);
   
$hostname $mailparts[1];

   
// validate email address syntax
   
$exp "^[a-z\'0-9]+([._-][a-z\'0-9]+)*@([a-z0-9]+([._-][a-z0-9]+))+$";
   
$b_valid_syntax=eregi($exp$email);

   
// get mx addresses by getmxrr
   
$b_mx_avail=getmxrr$hostname$mx_records$mx_weight );
   
$b_server_found=0;

   if(
$b_valid_syntax && $b_mx_avail){
     
// copy mx records and weight into array $mxs
     
$mxs=array();

     for(
$i=0;$i<count($mx_records);$i++){
       
$mxs[$mx_weight[$i]]=$mx_records[$i];
     }

     
// sort array mxs to get servers with highest prio
     
ksort ($mxsSORT_NUMERIC );
     
reset ($mxs);

     while (list (
$mx_weight$mx_host) = each ($mxs) ) {
       if(
$b_server_found == 0){

         
//try connection on port 25
         
$fp = @fsockopen($mx_host,25$errno$errstr2);
         if(
$fp){
           
$ms_resp="";
           
// say HELO to mailserver
           
$ms_resp.=send_command($fp"HELO microsoft.com");

           
// initialize sending mail
           
$ms_resp.=send_command($fp"MAIL FROM:<[email protected]>");

           
// try receipent address, will return 250 when ok..
           
$rcpt_text=send_command($fp"RCPT TO:<".$email.">");
           
$ms_resp.=$rcpt_text;
          
           if(
substr$rcpt_text03) == "250")
             
$b_server_found=1;

           
// quit mail server connection
           
$ms_resp.=send_command($fp"QUIT");

         
fclose($fp);

         }

       }
    }
  }
  return 
$b_server_found;
}

function 
send_command($fp$out){

  
fwrite($fp$out "\r\n");
  return 
get_data($fp);
}

function 
get_data($fp){
  
$s="";
  
stream_set_timeout($fp2);

  for(
$i=0;$i<2;$i++)
    
$s.=fgets($fp1024);

  return 
$s;
}

// support windows platforms
if (!function_exists ('getmxrr') ) {
  function 
getmxrr($hostname, &$mxhosts, &$mxweight) {
    if (!
is_array ($mxhosts) ) {
      
$mxhosts = array ();
    }

    if (!empty (
$hostname) ) {
      
$output "";
      @
exec ("nslookup.exe -type=MX $hostname."$output);
      
$imx=-1;

      foreach (
$output as $line) {
        
$imx++;
        
$parts "";
        if (
preg_match ("/^$hostname\tMX preference = ([0-9]+), mail exchanger = (.*)$/"$line$parts) ) {
          
$mxweight[$imx] = $parts[1];
          
$mxhosts[$imx] = $parts[2];
        }
      }
      return (
$imx!=-1);
    }
    return 
false;
  }
}

?>
Me olvide de aclarar. tengo linux en el servidor. Gracias !!!!
  #2 (permalink)  
Antiguo 27/03/2013, 06:11
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años, 1 mes
Puntos: 175
Respuesta: verificar existencia de email en php

no creo que sea exactamente por eso, pero con @exec estas inhibiendo los mensajes de error al ejecutar la función...
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #3 (permalink)  
Antiguo 27/03/2013, 07:03
 
Fecha de Ingreso: mayo-2008
Mensajes: 224
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: verificar existencia de email en php

Epa!! loncho, eso no lo sabia Gracias!!!

voy a probar quitandole el @exec, a ver si da alguna señal de vida para saber de donde tomar el valor de respuesta.

Posteo si lo soluciono !!
  #4 (permalink)  
Antiguo 27/03/2013, 07:11
 
Fecha de Ingreso: mayo-2008
Mensajes: 224
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: verificar existencia de email en php

Nada.
Ni quitando el @exec ni nada. ni me dice si tengo algo mal como un corchete o punto, nada de nada. muertito muertito
  #5 (permalink)  
Antiguo 27/03/2013, 07:35
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años, 1 mes
Puntos: 175
Respuesta: verificar existencia de email en php

Nooo... jaja.. perdon, me exprese mal... exec esta bien.. cuando pones el @ es cuando inihibe los mensajes de error, ya sea porque no quieres que el usuario lo vea, o quieres personalizar uno...
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...

Etiquetas: email, existencia, verificar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:16.