Cita:
Iniciado por Nymeria84 Buenos días
Tengo un script que lo ejecuto en Cron, que manda un email a cada cliente, cada vez es un numero diferente de emails. Cuando el envío es pequeño, no pasa nada. Pero con un envío de 200 emails, ya me falla.
No hay problema de limitación de emails, ni a la hora ni por dominio, porque donde lo tengo, no hay limitación.
Creo que el problema viene del tiempo que está inactivo el navegador. Pasados unos 5 minutos el script se para.
Cuando lo ejecuto con el cron me devuelve: curl: (52) Empty reply from server y si lo ejecuto manualmente, llega un momento que redirige a la página de inicio.
El código sería el siguiente
set_time_limit(0);
ini_set('memory_limit', '512M');
$index = 0;
while('mientras clientes'){
llamo a la función que envía el mail.
(He probado a poner aqui:
print_r($index);
flush();
)
$index++;
sleep(3);
}
El sleep lo pongo para que exista un margen entre el envío, para evitar que lo coja como spam. Si en sleep pongo 2 segundos, en vez de 3, me manda más emails antes de cerrarse.
Lo de print lo he probado al leer el siguiente tema [URL="http://www.forosdelweb.com/f18/envio-masivo-email-con-funcion-mail-dentro-bucle-849705/"]http://www.forosdelweb.com/f18/envio-masivo-email-con-funcion-mail-dentro-bucle-849705/[/URL]
pero no me funciona.
Y el flush para vaciar el buffer y enviar los datos escritos. Pero nada. Nosé si lo estoy usando mal o que.
Creo que la solución es no tener tanto tiempo la página inactiva mientras se ejecuta el script, pero no se me ocurre que más hacer.
O quizá sea otro fallo que ha alguien más le ha pasado y sepa como arreglarlo.
Muchas gracias
No estoy seguro pero creo que el problema lo tienes al limitar la memoria del script en 512Mb, si envías correos por encima de ese límite de memoria el script se dentendrá.
En vez de 512Mb prueba a poner -1. y nos cuentas qué tal, sino no se qué puede ser.