Ver Mensaje Individual
  #7 (permalink)  
Antiguo 24/07/2004, 09:18
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Imagina que escogo todos los usuarios y tengo umm 1.000 usuarios, crees que es lógico llamar a la función mail() 1.000 veces????, o enviar 1.000 correos???
Pero .. tu conces realmente como funciona mail() ?

te comento que mail() NO devuelve el proceso a tu script (continua la ejecución del mismo y por ende tiene al cliente en espera de respuesta) hasta que envie esos 1000000 mails que compongas en una cadena de e-mails separados por comas.

Es decir:
1) No vas a tener control de que e-mails falla el envio (por lo menos la parte que mail() reconoce que es "la entrega" del e-mail al MTA a usar). No sé tu aplicación en concreto .. pero a mi me suele importar tener ese control para generar log's de como fué el envio.

2) Si bien el envio va a demorar menos tiempo en el envio .. no te creas que vas a enviar esos 100000 mails a mail() y te va a devolver el control al instante mientras tu servidor SMTP o MTA concreto se trabaja el envio de los e-mails (Relay). Lo mejor para esto es que pruebes ambas técnicas y decidas tu mismo.

Consejo:
Usa envio directo de tus e-mails por SMTP (no con mail de PHP) para esto te puede ayudar la classe:

PHP Mailer (http://phpmailer.sourceforge.net)
El envio por SMTP (directo) te permitirá (y con esta classe más) "balancear" la carga de envio de N e-mails entre vários servidores SMTP .. siendo esta classe la que simultáneamente le envia parte de los e-mails que se han de enviar a cada SMTP indicado ..

Un saludo,

Última edición por Cluster; 24/07/2004 a las 09:23