error con la clase phpmailer

mardia
26 de Abril del 2006
Hola....
Resulta que tengo una aplicación que envia correos utilizando la clase phpmailer (class.phpmailer.php) y servidor SMTP, y realizando pruebas envia correos bien hacia gmail pero hacia hotmail segun el reporte del servidor si los envia pero estos nunca llegan, y a yahoo el servidor saca un error de "connection failed".
Ya le cambié en los parametros de la clase la prioridad a 1 que es la más alta y el timeout se lo he aumentado a 120 segundos a ver si asi se conecta y nada que funciona....

Si alguien me puede ayudar muchas gracias....

my2kbsd
26 de Abril del 2006
En ocasiones los correos son enviados al correo No Deseado, por eso no los puedes apreciar en tu bandeja de entrada, pero de que llegan si llegan, yo en particular nunca he enviado correos a yahoo, pero hotmail, gmail, etc. Si llegan.

Saludos

mardia
26 de Abril del 2006
Nooo...ya revise en los no deseados y en la bandeja de spam y tampoco llegan...
Que hago???

mardia
26 de Abril del 2006
Pues todavia sigue sin enviarme a yahoo....
Pero de todas maneras muchas gracias por la colaboracion...

djtv
26 de Abril del 2006
prueba con esta funcion:

function manda_phpmailer($email,$asunto,$contenido)
{
$mail = new phpmailer ();
$mail -> From = "remitente";
$mail -> FromName = "Nombre que aparece en la bandeja de entrada";
$mail -> AddAddress ($email);
$mail -> Subject = $asunto;
$mail -> Body = $contenido;
$mail -> IsHTML (true);
$mail -> Timeout=120;
if (isset ($_FILES["archivo"]) && ($_FILES[\'archivo\'][\'error\']==UPLOAD_ERR_OK))
{
$tmp_name = $_FILES["archivo"]["tmp_name"];
$name = $_FILES["archivo"]["name"];
$mail -> AddAttachment ($tmp_name, $name);
}
$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 s
//segundos despues del anterior, para ello se usa la funcion sleep
$intentos=1;
while((!$exito)&&($intentos<5)&&($mail->ErrorInfo!="SMTP Error: Data not accepted")){
sleep(5);
$exito = $mail->Send();
$intentos=$intentos+1;
}
//La clase phpmailer tiene un pequeño bug y es que cuando envia un mail con
//attachment la variable ErrorInfo adquiere el valor Data not accepted, dicho
//valor no debe confundirnos ya que el mensaje ha sido enviado correctamente
if ($mail->ErrorInfo=="SMTP Error: Data not accepted") $exito=true;
if(!$exito) return false;
else return true;
}

A ver si hay suerte con eso :)

http://www.inmobelia.com