Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/01/2003, 22:27
Avatar de Webstudio
Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
En mi trabajo mandamos un newsletter semanal a unos 80.000 usuarios, y para ello utilizo solo Apache, PHP, función mail() y mySQL.
Lo que hice, fue adaptar un viejo código, por lo que está bastante ( bastante mucho diría yo ) poco optimizado, por lo que pienso que optimizándolo podría soportar muchisimos usuarios más.
EL lo basé en dos conceptos :

1) Paginación de resultados, para no tener problemas con los Time_limits del ejecución del PHP
2) El usuario no necesita que aparezca la dirección TO: en su email, por lo que puedo utilizar la cabecera CCO:

Entonces, lo que hago es sacar los primeros 200 mails de la base, armar el email, colocar las 200 direcciones dentro del CCO (separándolas por comas) y cada página envía solo 1 email, con los 200 CCO.
Así, cuando carga la aplicación, automáticamente se llama a si misma, pidiendo la siguiente "página" de resultados, obteniendo los siguientes 200 emails, y enviando 1 email.
De esta manera, la aplicación funciona correctamente y completa el envío de los 80.000 emails en algo así como 1 hora.

Para esto estoy utilizando la función mail() de PHP, ya que por cada vez que la pagina carga, envía 1 solo email, pero podría estar utilizando alguna clase que trabaje directamente con sockets y un server SMTP, lo cual aceleraría considerablemente las cosas al enviar Varios emails sin cerrar la conexion con el server ( cosa que la funcion mail() hace ).

Espero que esta mini Guía de como envío yo los newsletters te sirva. Cualquier punto que quieras que te aclare o que quieras profundizar, me avisas.

Saludos.
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com