Foros del Web » Programando para Internet » PHP »

problema con phpmailer

Estas en el tema de problema con phpmailer en el foro de PHP en Foros del Web. he estado probando el script de php mailer utilizando el mismo ejemplo que dan en la pagina de php mailer pero me manda el siguiente ...
  #1 (permalink)  
Antiguo 17/11/2004, 19:16
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
problema con phpmailer

he estado probando el script de php mailer utilizando el mismo ejemplo que dan en la pagina de php mailer pero me manda el siguiente error

Fatal error: Maximum execution time of 30 seconds exceeded in C:\Archivos de programa\Apache Group\Apache2\htdocs\test\email\includes\class.smt p.php on line 984

estoy utilizando un servidor smpt remoto, ya esta configurado el script que acontinuacion les pongo

Código PHP:
<?
  
// primero hay que incluir la clase phpmailer para poder instanciar
  //un objeto de la misma
  
require "includes/class.phpmailer.php";
  
//instanciamos un objeto de la clase phpmailer al que llamamos 
  //por ejemplo mail
  
$mail = new phpmailer();
  
//Definimos las propiedades y llamamos a los métodos 
  //correspondientes del objeto mail
  //Con PluginDir le indicamos a la clase phpmailer donde se 
  //encuentra la clase smtp que como he comentado al principio de 
  //este ejemplo va a estar en el subdirectorio includes
  
$mail->PluginDir "includes/";
  
//Con la propiedad Mailer le indicamos que vamos a usar un 
  //servidor smtp
  
$mail->Mailer "smtp";
  
//Asignamos a Host el nombre de nuestro servidor smtp
  
$mail->Host "smtp.hotpop.com";
  
//Le indicamos que el servidor smtp requiere autenticación
  
$mail->SMTPAuth true;
  
//Le decimos cual es nuestro nombre de usuario y password
  
$mail->Username "usuario"
  
$mail->Password "*******";
  
//Indicamos cual es nuestra dirección de correo y el nombre que 
  //queremos que vea el usuario que lee nuestro correo
  
$mail->From "[email protected]";
  
$mail->FromName "Webmaster";
  
//el valor por defecto 10 de Timeout es un poco escaso dado que voy a usar 
  //una cuenta gratuita, por tanto lo pongo a 30  
  
$mail->Timeout=30;
  
//Indicamos cual es la dirección de destino del correo
  
$mail->AddAddress("[email protected]");
  
//Asignamos asunto y cuerpo del mensaje
  //El cuerpo del mensaje lo ponemos en formato html, haciendo 
  //que se vea en negrita
  
$mail->Subject "Prueba de phpmailer";
  
$mail->Body "<b>Mensaje de prueba mandado con phpmailer en formato html</b>";
  
//Definimos AltBody por si el destinatario del correo no admite email con formato html 
  
$mail->AltBody "Mensaje de prueba mandado con phpmailer en formato solo texto";
  
//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
 
   }
 
  
   if(!
$exito)
   {
 echo 
"Problemas enviando correo electrónico a ".$valor;
 echo 
"<br>".$mail->ErrorInfo
   }
   else
   {
 echo 
"Mensaje enviado correctamente";
   } 
?>
alguien tiene idea de porque el error, el error entiendo es porque el esxript exede los 30 segundos, ya lo he puesto mas, de hecho lo he puesto hasta 60 pero sigue mandando el error

alguna idea??

de antemano gracias
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #2 (permalink)  
Antiguo 18/11/2004, 06:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Tendrás que ir subiendo el tiempo del

$mail->Timeout=30;

Fijate ya que se usa:
sleep(5);

Eso retarda la ejecución del script en 5 segundos si hay que hacer N reintentos (ahí dice 5 minimo) así que .. multiplica 5*5 y ya tienes ahí 25 segundos mínimo si algo falla que va a consumir tiempo de ejecución .. + todo el tiempo que tarda el script vía socktes en conectarse a tu sevidor SMTP y autentificarse.

Un saludo,
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 16:42.