Tema: Mailing
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/09/2004, 07:22
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
1º) .. No depende de mail() el envio efectivo del mail sino de tu "MTA" que uses (el servidor SMTP o el que use mail()). Te recuerdo que PHP físicamente no envia los e-mails vía mail() sino que es tu servidor SMTP o el "MTA" (Mail Transfer Agent) que uses el que hace dicho proceso final, incluido tiempos de "relay" (reintentos) y demás para intentar "entregar el e-mail" a su destinatario.

2º) PHP dá un tiempo máximo de ejecución para un script (el que use tu bucle y mail()) .. eso lo determina y puedes ajustar con la función: set_time_limit() (por defecto son 30 segundos).

Si sobrepasas ese tiempo y no lo autmentas .. PHP cortará la ejecución del script.

Hay mejores formas para enviar e-mails masivos desde PHP .. por ejemplo usando envio directo por SMTP par lo cual te puedes ayudar de la classe:

PHP Mailer
http://phpmailer.sourceforge.net

que te permite entre otras cosas usar vários servidores SMTP a la vez para "balancear" la carga del envio de N e-mails repariendolos entre los que indiques.

así aceleras notablemente el envio del e-mail final.

Si aun así quieres hacer una "pausa" en PHP puedes usar la función sleep() .. pero antes tendrás que dar más tiempo de ejecución a tu script: set_time_limit() y para el cálculo de cada cuantos e-mails hará el sleep() .. usa un contador bajo tu bucle de envio de e-mails y aplica (matemáticas) el módulo de una división.

Un saludo,