Temporizador php

Estoy realizando un script que envío emails desde una bd
Pero envía tantas veces el mismo mensaje hacia el primer
email que encuentra (según lo que he deducido), por lo tanto
asumo que debo de poner un temporizador (ejem:2 segundos).
Este temporizador debe de estar al final del ultimo corchete del WHILE
para que termine de cargar uno y pase al siguiente.
¿Cómo hago ese temporizadro?
Le doy el script:
envío.php
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<title>Title here!</title>
</head>
<body>
<?php
include("conexion.php");
$link=Conectarse();
$ssql = "SELECT * FROM envio_email ";
$rs = mysql_query($ssql,$link);
//$num_total_registros = mysql_num_rows($rs);
while($row=mysql_fetch_array($rs))
{
//INICIO AREA DE EBVIO INDIVIDUAL
//$email="[email protected]" ;
// $nombre="freddy";
$email=$row[2];
$nombre=$row[1];
//echo $email."<br>";
//echo $nombre."<br>";
$para = $email;
/* asunto */
$asunto = "LA EMPRESA le responde";
/* mensaje */
$mensaje = '
<html>
<head>
<title>Consultas a LA EMPRESA</title>
</head>
<body>
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" valign="top" bgcolor="#076BA7"><font color="#ffffFF"><b>HOMEOPATIA POPULAR</b> </font></td>
</tr>
<tr>
<td align="center" valign="top">
<table width="500" border="1" cellpadding="0" cellspacing="0" bordercolor="#076BA7">
<tr valign="top">
<td width="450">Paciente:'. $nombre .' </td>
<td width="50"></td>
</tr>
<tr valign="top">
<td colspan="2">Hemos tomado nota de su consulta y la hemos analizado.<br>
Para darle solución al respecto sirvase comunicarse <br>
a los<b>Telfs.:</b>460-6625 / 253-5192/ 422-2392 / <b>Cel:</b>9965-7319
</td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
';
/* Para enviar correo HTML, puede definir la cabecera Content-type. */
$cabeceras = "MIME-Version: 1.0
";
$cabeceras .= "Content-type: text/html; charset=iso-8859-1
";
$cabeceras .= "From: [email protected]>
";
/* y ahora, enviarlo */
mail($para, $asunto, $mensaje, $cabeceras);
//FIN DE AREA DE ENVIO
}
echo "<center>Se envio toda la informacion</center>";
?>
</body>
</html>

2 respuestas

Respuesta
1
Es que en el txt no tienes el nombre. Consíguete el navicat con el podrás importar los datos desde el txt a la tabla sin programar nada.
Si quieres retrazar los envios entre mail y mail, podrias utilizar spleep(segundos);
O bien utilizar un puntero y refrescar la página cada tanto...
Según lo que me dices debo de colocarlo así:
...
mail($para, $asunto, $mensaje, $cabeceras);
sleep(4);
}
...
Gracias por la ayuda y tu respuesta.
Freddy
//FIN DE AREA DE ENVIO
}
Si, pero lo del temporizador no se para que lo quieres, porque si todos los mails le llegan al primer registro de la db es un problema de lógica.
Respuesta
1
Prueba a poner en esa línea una delay de 2 segundos. Traducido al lenguaje de PHP:
sleep(2); // El tiempo es en segundos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas