Foros del Web » Programando para Internet » PHP »

sistema de envío de mails

Estas en el tema de sistema de envío de mails en el foro de PHP en Foros del Web. hola chicos. tengo en una DB MySQL una lista de mails.. y una gui para enviar mails. mediante una consulta, se toma la dirección de ...
  #1 (permalink)  
Antiguo 23/07/2004, 10:26
Avatar de nachopro  
Fecha de Ingreso: noviembre-2003
Ubicación: Haedo, Bs. As.
Mensajes: 290
Antigüedad: 14 años
Puntos: 2
Mensaje sistema de envío de mails

hola chicos.
tengo en una DB MySQL una lista de mails..
y una gui para enviar mails.
mediante una consulta, se toma la dirección de mail y se manda.
lo que quiero hacer es que cada 5 mails enviados, tome una pausa de 20 segs para no saturar el servidor smtp

se les ocurre algo ??
  #2 (permalink)  
Antiguo 23/07/2004, 11:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Podrías usar sleep() en conjunto con dar más tiempo de ejecución a tu script vía set_time_limit() (si es que no lo has hecho ya).

Un saludo,
  #3 (permalink)  
Antiguo 23/07/2004, 11:53
Avatar de nachopro  
Fecha de Ingreso: noviembre-2003
Ubicación: Haedo, Bs. As.
Mensajes: 290
Antigüedad: 14 años
Puntos: 2
:(

nopos, yo lo tengo así (resumo)

<?
$link=db();
$result=mysql_query("select email from direcciones where send='1'",$link);
while($row = mysql_fetch_array($result)) {
enviarmail($row["email"]);
}
mysql_close($link);
?>

lo que quiero hacer, creo que se lograría con un contador y algo que haga una pausa
lo que no se es que comando usar, leeré acerca del sleep()

gacias
  #4 (permalink)  
Antiguo 23/07/2004, 12:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Tienes que hacer dos cosas:

1) el contador para conocer esas "cada 4 veces"
2) la función sleep() para detener esos N segudos que quieras tu ejecución de tu bucle (el while() que ahí usas).

El punto 1 es tan sólo usar el módulo de una división para saber si es divisor de Nº que indicas.

Código PHP:
$contador=1;
bucle(){
   
//procesos: tu mail() por ejemplo ...
   
if (($contador 4) == 0){
      
sleep(4);
   }
   
$contador++;

Sería algo así si mis matemáticas no me fallan xD

Un saludo,
  #5 (permalink)  
Antiguo 24/07/2004, 21:21
Avatar de nachopro  
Fecha de Ingreso: noviembre-2003
Ubicación: Haedo, Bs. As.
Mensajes: 290
Antigüedad: 14 años
Puntos: 2
gracias clusto!
pero ahora un problemilla
tengo 6442 mails
y cuando sleepeo....

Fatal error: Maximum execution time of 30 seconds exceeded in enviar.php on line 16

qué sugerís ?
  #6 (permalink)  
Antiguo 25/07/2004, 12:25
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Bueno .. ya te avisé:

Cita:
Podrías usar sleep() en conjunto con dar más tiempo de ejecución a tu script vía set_time_limit() (si es que no lo has hecho ya).
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 20:57.