Quiero hacer una distribucion de un newsletter y me gustaria estimar el tiempo minimo en enviar cada mail para pasarle al sleep(x) el menor tiempo
es una pagina html de unos 8 kb maximos
| |||
sobre la funcion mail() Quiero hacer una distribucion de un newsletter y me gustaria estimar el tiempo minimo en enviar cada mail para pasarle al sleep(x) el menor tiempo es una pagina html de unos 8 kb maximos |
| |||
En PHP puedes obtener un tiempo preciso usando la función: microtime() De esta forma .. toma tu tiempo antes de ejecutar mail() y despues .. lo restas y tendrás tu tiempo de ejecución. Ahora, ten presente algunas cosas: 1) mail() de PHP sólo entrega tu e-mail al MTA que use tu servidor, esto implica que NO es PHP quien envia el e-mail en definitiva sino tu servidor SMTP o el MTA que uses en el. Por ende .. la "entrega" del e-mail en sí al MTA suele ser rápida .. lo que le puede costar mucho tiempo más es a tu MTA establecer la conexión con el servidor del destinatario y enviarlo ... 2) .. Si vas a usar sleep() recuerda que eso retarda la ejecución de tu script, PHP le dá cierto tiempo a la ejecución de tus scripts (por defecto 30 segundos definidos en php.ini) .. tendrás que aumentar proporcionalmente el tiempo de ejecución de ese script usando set_time_limit(). 3) No sé como vas a lanzar la ejecución de este script: via HTTP (desde un link? ...) o lo vas a ejecutar en una llamada por un "Cron Job"? .. El caso es que tu script PHP no es que debería hacer el "sleep()" sino otro ente como por ejemplo un Cron Job que llame a intervalos de tiempo a tu script de proceso (el cual por otro médio debe saber que es lo que envió para seguir con el proceso por "lotes" que tenga que hacer). Un saludo, |