Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/05/2010, 00:48
Tarzan
 
Fecha de Ingreso: noviembre-2005
Ubicación: Alicante (España)
Mensajes: 242
Antigüedad: 18 años, 5 meses
Puntos: 1
Saber si una dirección es incorrecta con el phpmailer

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

Última edición por Tarzan; 21/05/2010 a las 02:24