Foros del Web » Programando para Internet » PHP »

Newsletter y miles de usuarios?

Estas en el tema de Newsletter y miles de usuarios? en el foro de PHP en Foros del Web. Cual es la mejor forma de manejar el envío de email masivo con PHP y un servidor linux, tengo que enviar un newsletter a casi ...
  #1 (permalink)  
Antiguo 10/01/2003, 17:50
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 22 años, 3 meses
Puntos: 1
Newsletter y miles de usuarios?

Cual es la mejor forma de manejar el envío de email masivo con PHP y un servidor linux, tengo que enviar un newsletter a casi 10000 usuarios, cuando lo intentaba con PHP o ASP -> IIS en Windows pos nada mas no daba el ancho.

Existe alguna técnica para esta funcionalidad y sobre todo-> Linux , Apache son capaces de soportar tal cantidad de emails?

Saludos
  #2 (permalink)  
Antiguo 10/01/2003, 22:27
Avatar de 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
  #3 (permalink)  
Antiguo 10/01/2003, 22:45
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 22 años, 3 meses
Puntos: 1
Cita:
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.
Puedo suponer que al final usas algo así?

Código PHP:
header("Location: email.php?pagina=".$HTTP_GET_VARS["pagina"]+1); 
Weno en realidad es solo una suposición jeje
  #4 (permalink)  
Antiguo 10/01/2003, 23:13
Avatar de 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
Claro, sería algo así, solo que en vez de utilizar un número de página, utilizo el número de mails enviados hasta ese momento, y siempre al final de la ejecucion, pregunto si el numero de mails enviados hasta ese momento, no es igual a la cantidad total de emails, entonces que vuelva a cargar, sino ( else ) que cargue la pagina pero con una variable especial seteada que indique que ya termino la ejecución.

Bueno, eso es básicamente lo que tiene, le agregé algunas cosas medio bobas, como que dibuje una barra de desplaazmiento indicando el porcentaje de emails enviados y todo eso, pero ya son detalles esteticos más que otra cosa.

Saludos.
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com
  #5 (permalink)  
Antiguo 10/01/2003, 23:29
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 22 años, 3 meses
Puntos: 1
De acuerdo

Ahhh pues muchas gracias !!!

Lo implementare de esta forma y ya les estare contando en un tiempo.

Saludos y gracias nuevamente
  #6 (permalink)  
Antiguo 13/01/2003, 13:10
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 22 años, 3 meses
Puntos: 1
Oye pero aquí en mi trabajo no quieren que salgan los mails con CCO que por que servidores de correo como yahoo los rechazan, entonces quieren que salgan los mails de uno por uno lo que sería algo así como 10000 mails.

Como ves crees que soporte tanto correo el servidor?

Saludos
  #7 (permalink)  
Antiguo 13/01/2003, 13:24
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 22 años, 5 meses
Puntos: 5
El servidor si te soportara, lo que tendras k hacer es un st_time_limti() al script para que no tenga tiempo de ejecucion sino seguro que te falla :P
__________________
Usuario registrado de Linux #288725
  #8 (permalink)  
Antiguo 13/01/2003, 15:52
Avatar de BVis  
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona
Mensajes: 104
Antigüedad: 21 años, 5 meses
Puntos: 0
st_time_limti()

A veces es bueno realjasre y mriar lo qeu se escirbe.

1 aSludo.

PD: "set_time_limit()" no?
__________________
"Yo opino lo mismo que BVis, el de 'forosdelweb' " - Bill Gates

Última edición por BVis; 14/01/2003 a las 12:28
  #9 (permalink)  
Antiguo 13/01/2003, 15:57
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 22 años, 5 meses
Puntos: 5
tu tb te ekivocastes es:

set_time_limit()
__________________
Usuario registrado de Linux #288725
  #10 (permalink)  
Antiguo 02/02/2003, 17:48
 
Fecha de Ingreso: mayo-2001
Mensajes: 135
Antigüedad: 22 años, 11 meses
Puntos: 0
Webstudio.

Tengo un boletin que envio semanalmante a mi base de datos (cerca de 15,000) suscriptores, utilizo el programa Worldcast y cada vez me resulta mas tardado el envio del boletin, ha habido ocasiones que me tardo hasta 24 - 30 horas para enviarlo.

Tengo mi base de datos en un archivo de texto con el siguiente formato:

nombre|direccion

Puedes publicar el codigo de del que nos hablas para implementarlo en mi sitio y mandar mas rapido el boleitn?

Gracias
__________________
Bombin for peace
is like
fucking for virginity...
  #11 (permalink)  
Antiguo 23/05/2007, 14:20
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 19 años, 6 meses
Puntos: 1
Re: Newsletter y miles de usuarios?

Hola gente.
Estoy con lo de los newsletters en php y mysql y tengo algunos inconvenientes:
Les cuento; he creado un pequeño script para enviar newsletter a una lista de una bd, en php + mysql.
La idea es que uno tiene un form, con un textarea en el que pega el código html y el botón enviar envía con la función mail ese código a los usuarios.
El código lo genero haciendo la página en el dw, y después lo pego.
Las negritas salen bien, y los encabezados, párrafos, saltos de línea; pero los elementos css que definen color, o las tags img que hacen referencia a imágenes en la web, no llegan bien a la dirección de correo.
También megustaría que tome por ejemplo, Hola $nombre, y $nombre sea la variable del nombre tomada de la db, pero sólo llega por mail, el hola $nombre, si traducirse como el nombre....
alguna idea de cómo solucionar esto?
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
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 11:23.