Foros del Web » Programando para Internet » PHP »

Excedo el maximo tiempo de ejecucion cuando envio correos.

Estas en el tema de Excedo el maximo tiempo de ejecucion cuando envio correos. en el foro de PHP en Foros del Web. Hola amigos. Necesito me ayuden a solucionar un problema. Lo que pasa es que tengo una cantidad de usuarios a las que debo enviarles un ...
  #1 (permalink)  
Antiguo 04/01/2007, 13:03
Avatar de Celcius  
Fecha de Ingreso: febrero-2003
Ubicación: Lima - Perú
Mensajes: 652
Antigüedad: 21 años, 2 meses
Puntos: 5
Excedo el maximo tiempo de ejecucion cuando envio correos.

Hola amigos. Necesito me ayuden a solucionar un problema. Lo que pasa es que tengo una cantidad de usuarios a las que debo enviarles un correo, pero tiene que ser personalizado, lo he hecho pero me consume mucho tiempo al hacerlo y me manda el famoso mensaje de maximo tiempo de ejecucion sobrepasado. Para que se me entienda mejor, en el mensaje escribo:

"Hola [nombre], como estas, te escribo para decirte que te has suscrito la fecha [fecha] y blablablablaba".

Luego envio esa info a una pagina que me extrae esa informacion de una BD y envia el mensaje una vez hechos los cambios. Se me entendio? .

Aqui pongo el codigo para que la idea esté completa:
Código PHP:
$correo $_POST["correo"];
$mensaje $_POST["mensaje"];
$asunto $_POST["asunto"];

//hago una conexion con la bd
mysql_connect($host,$usuario,$contrasenya);
mysql_select_db("BD");

$total_registros count($correo);
for(
$i=0$i<$total_registros$i++){
  
$consulta mysql_query("select * from usuarios where correo='"$correo[$i] ."' limit 0,1")or die("Error: ".__LINE__);
  
$datos mysql_fetch_assoc($consulta);
  
$mensaje str_replace("[nombre]",$datos["nombre"],$mensaje);
  
$mensaje str_replace("[correo]",$datos["correo"],$mensaje);
  
$mensaje str_replace("[categoria]",$datos["id_cat"],$mensaje);
  
$mensaje str_replace("[fecha_suscripcion]",$datos["fecha_sus"],$mensaje);
  
$mensaje str_replace("[n_envios]",$datos["envios"],$mensaje);
  
mail($datos["correo"],$asunto,$mensaje,"FROM: El que Envia<[email protected]>")or die("Error al enviar el correo");
}
echo 
"Mensajes enviados con exito..."
Valga aclarar que solo he hecho la prueba con 6 usuarios. Que pasara si lo hiciera con 50 ó 100 suscritos?

Denme ideas pliz..
__________________
"Si tú conocieras el don de Dios, y quién es el que te dice: 'Dame de beber,' tú Le habrías pedido a El, y El te hubiera dado agua viva.
Sn. Juan 4:19
Jesus
  #2 (permalink)  
Antiguo 04/01/2007, 17:18
Avatar de Celcius  
Fecha de Ingreso: febrero-2003
Ubicación: Lima - Perú
Mensajes: 652
Antigüedad: 21 años, 2 meses
Puntos: 5
Re: Excedo el maximo tiempo de ejecucion cuando envio correos.

Bueno ya lo solucioné, le cambie el max_execution_time del php.ini que estaba en 4 y le puse el normal que es 30... Pero por lo que voy leyendo en otros post, no es recomendable usar la funcion mail(); para un numero alto de usuarios...

¬¬
__________________
"Si tú conocieras el don de Dios, y quién es el que te dice: 'Dame de beber,' tú Le habrías pedido a El, y El te hubiera dado agua viva.
Sn. Juan 4:19
Jesus
  #3 (permalink)  
Antiguo 04/01/2007, 17:30
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 18 años, 9 meses
Puntos: 3
Re: Excedo el maximo tiempo de ejecucion cuando envio correos.

usa phpmailer,
__________________
Código PHP:
echo"hola mundo ver 1221332143.02";
echo
"cuantos usuarios habran impreso hola mundo en el mundo.!???"
  #4 (permalink)  
Antiguo 04/01/2007, 17:34
Avatar de Celcius  
Fecha de Ingreso: febrero-2003
Ubicación: Lima - Perú
Mensajes: 652
Antigüedad: 21 años, 2 meses
Puntos: 5
Re: Excedo el maximo tiempo de ejecucion cuando envio correos.

Si en eso estoy, pero ya he fracasado en su uso unas 20 veces, voy por la 21 ¬¬
__________________
"Si tú conocieras el don de Dios, y quién es el que te dice: 'Dame de beber,' tú Le habrías pedido a El, y El te hubiera dado agua viva.
Sn. Juan 4:19
Jesus
  #5 (permalink)  
Antiguo 04/01/2007, 17:47
Avatar de Celcius  
Fecha de Ingreso: febrero-2003
Ubicación: Lima - Perú
Mensajes: 652
Antigüedad: 21 años, 2 meses
Puntos: 5
Re: Excedo el maximo tiempo de ejecucion cuando envio correos.

Quizas puedas (o alguien pueda) dame una mano, siempre me sale este aviso y no envia el mensaje:
Warning: fsockopen(): unable to connect to localhost:25 in c:\appserv\www\...\class.smtp.php on line 105
__________________
"Si tú conocieras el don de Dios, y quién es el que te dice: 'Dame de beber,' tú Le habrías pedido a El, y El te hubiera dado agua viva.
Sn. Juan 4:19
Jesus
  #6 (permalink)  
Antiguo 04/01/2007, 18:39
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 18 años, 9 meses
Puntos: 3
Re: Excedo el maximo tiempo de ejecucion cuando envio correos.

en estos caso, CLUSTER es mas master que yo, mirate por los faqs el ah puesto varias respuesta hacerca de phpmailer y lo que necesitas...
saludos!

pero viendo bien, tienes un servidor smtp. pues lo que veo es k quieres conectar de forma local a tu servidor smtp, tienes uno, si no bajate y confg. uno, hay varios gratis
saludso.!
__________________
Código PHP:
echo"hola mundo ver 1221332143.02";
echo
"cuantos usuarios habran impreso hola mundo en el mundo.!???"
  #7 (permalink)  
Antiguo 04/01/2007, 21:01
Avatar de Celcius  
Fecha de Ingreso: febrero-2003
Ubicación: Lima - Perú
Mensajes: 652
Antigüedad: 21 años, 2 meses
Puntos: 5
Re: Excedo el maximo tiempo de ejecucion cuando envio correos.

Hola Vevni. Si uso el ArGoSoft que bueno no me ha fallado cuando hago mis pruebas con la funcion mail() de php, peroo, si uso el phpmailer tengo estos problemas. ahora no se si sea el ArGoSoft. Tu que opinas? sera? y como me doy cuenta de ello?

saludos.
__________________
"Si tú conocieras el don de Dios, y quién es el que te dice: 'Dame de beber,' tú Le habrías pedido a El, y El te hubiera dado agua viva.
Sn. Juan 4:19
Jesus
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 14:01.