Foros del Web » Programando para Internet » PHP »

sobre la funcion mail()

Estas en el tema de sobre la funcion mail() en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 17/11/2005, 09:16
 
Fecha de Ingreso: abril-2005
Mensajes: 71
Antigüedad: 12 años, 8 meses
Puntos: 0
Pregunta 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
  #2 (permalink)  
Antiguo 17/11/2005, 09:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
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,
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 18:59.