Foros del Web » Programando para Internet » PHP »

Enviar correos individuales cada X segundos

Estas en el tema de Enviar correos individuales cada X segundos en el foro de PHP en Foros del Web. Buenas tardes a todos. He estado realizando un script para enviar unos correos cada 2 segundos. Por ejemplo en mi base de datos tengo una ...
  #1 (permalink)  
Antiguo 30/09/2008, 07:45
Avatar de JuanKa  
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 19 años, 7 meses
Puntos: 1
Enviar correos individuales cada X segundos

Buenas tardes a todos.

He estado realizando un script para enviar unos correos cada 2 segundos.

Por ejemplo en mi base de datos tengo una tabla que tiene 100 registros o mas la cual tienen como campo de nombre correo y quisiera que un determinado contenido se envie a cada correo, valga la redundancia.

El problema que tengo es que primero envia todos los correos y luego me sale el mensaje :

Enviando correo X0 a sus destinatario Y0
Enviando correo X1 a sus destinatario Y1
Enviando correo X2 a sus destinatario Y2
Enviando correo X3 a sus destinatario Y3
Enviando correo X4 a sus destinatario Y4
....
...
Código PHP:
$SQL_BOLETIN 'SELECT * FROM mailing';
$EJECT_SQL_BOLETIN $bd->bbdd_query($SQL_BOLETIN );

$i=1;
while (
$row $bd->bbdd_query($EJECT_SQL_BOLETIN ))
{
$contenido "BLABLABLABLABLABLABLABLABLABLA";
$destinatario="[email protected]";
$inicio="La empresa X te da la bienvenida."."<br /><br />";
        
$datos_cliente=$inicio."<br>".$contenido;
$destinatario_cliente=$row["correo"];
$asunto_cliente="Novedad nuevo producto";
        
$cabecera_cliente="From:".$destinatario."\nReply-To:".$destinatario."\n"
$cabecera_cliente=$cabecera_cliente."X-Mailer:PHP/".phpversion()."\n"
$cabecera_cliente=$cabecera_cliente."Mime-Version: 1.0\n"
$cabecera_cliente=$cabecera_cliente."Content-Type: text/html"
        
mail($destinatario_cliente,$asunto_cliente,$datos_cliente,$cabecera_cliente) or die ("NO se envio.");

echo 
"Enviando correo : ".$i." a sus destinatario  : "$row["correo"]."<br>";
sleep(2);
$i++;

Esto me lo hace bien, es decir me lo envia el boletin a todos los correos, pero el mensaje:

Código PHP:
echo "Enviando correo : ".$i." a sus destinatario  : "$row["correo"]."<br>"
, me sale despues de enviar a TODOS LOS CORREOS, el sleep me lo hace bien.

Lo que me gustaria es que cuando se envie cada correo me salga a quien se lo enviado y el numero de envio y asi sucesivamente , y no lo haga al final de todo el envio.
Lo hago esto para no saturar el script y tambien el servidor.

Donde puede estar mi error.

Saludos y gracias a todos por ayudarme.
  #2 (permalink)  
Antiguo 30/09/2008, 10:46
Avatar de JuanKa  
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 19 años, 7 meses
Puntos: 1
Respuesta: Enviar correos individuales cada X segundos

Alguien me puede ayudar con este problema..

Gracias
  #3 (permalink)  
Antiguo 30/09/2008, 11:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Enviar correos individuales cada X segundos

Utiliza flush() en cada vuelta de tu while para que te muestre el contenido que esta enviando por echo.

Saludos.
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 09:30.