hola
Tengo un script que envia correos mediante la funcion mail().
El problema que tengo es que al cabo de un tiempo de enviar los correos, el navegador se bloquea, y parece ser que este puede ser el motivo por el que replican los correos, y los envia dos veces en el envio, y claro los usuarios reciben el correo por duplicado.
He estado mirando el codigo de envio y solo lo realiza una sola vez. Es más he puesto un break cuando envie el ultimo correo para salir del blucle.
Por lo que pienso que la solucion esta en que no se bloquee el navegador, y que el envio de correos disponga de mas tiempo de ejecucion para evitar el bloque del navegador.
Alguna sugerencia ??
Os dejo una parte del codigo del envio de los emails (el bucle de envio).
Código PHP:
$i=0;
$email_count = $count['tot']; //consulta del total de correos
WHILE($user = mysql_fetch_array($email_list_results))
{
$i++;
$tmp_message = parseTags($_POST['content'], $user ['id'], $message, "", "");
$tmp_subject = parseTags($_POST['content'], $user['id'], $subject, "", "");
//Email Headers for HTML
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=UTF-8\r\n";
$headers .= "From: $from";
mail($user['email'], $tmp_subject,$tmp_message, $headers);
flush();
set_time_limit(150);
if ($i == $email_count)
{
break();
}
}