Hola a todos,
 
estoy trabajando con el phpmailer para el envío de mails desde mi web y funciona correctamente. Sin embargo, necesito saber si una dirección introducida por el usuario es válida o no.
 
Si el usuario introduce una dirección inválida al estilo: "asdfasdfjhsdjfh", el send devuelve un error y puedo avisar al usuario de que la dirección no es válida.
 
Sin embargo, si el usuario introduce una dirección del estilo: [email protected], el send se ejecuta y, al parecer, envía algo a esa dirección aunque no exista.
Al menos no me da problemas y la función send() no devuelve false.
 
Parece ser que detecta que es una "posible" dirección válida al llevar el carácter "@" y no se queja, pero yo necesito asegurarme de que el mail ha llegado correctamente a su destino.
¿Cómo lo hago?
 
¿Alguien sabe si hay alguna función que te garantice esto?
 
Mi código:
 
 //se envia el mensaje, si no ha habido problemas
//la variable $exito tendra el valor true
 $exito = $mail->Send();
 
 //Si el mensaje no ha podido ser enviado se realizaran 4 intentos mas como mucho
//para intentar enviar el mensaje, cada intento se hara 5 segundos despues
//del anterior, para ello se usa la funcion sleep
 $intentos=1; 
 while ((!$exito) && ($intentos < 5)) {
	sleep(5);
 //echo $mail->ErrorInfo;
  
 $exito = $mail->Send();
	$intentos=$intentos+1;
}
 
He probado 3 opciones.
 
Dirección válida: [email protected] -> Se envía correctamente.
Dirección inválida: dkfjgskdfjgksdfjgksdjfkgj -> El Send devuelve false y, tras 5 intentos muestra el error y no envía el mail.
Dirección válida pero inexistente: [email protected] He aquí mi problema, el send no devuelve false y yo no me entero de si se ha enviado o no el mail.
 
¿Cómo lo averiguo
Un saludo 
  
 

