Foros del Web » Programando para Internet » PHP »

Sugerencias para agilizar envio de emails

Estas en el tema de Sugerencias para agilizar envio de emails en el foro de PHP en Foros del Web. Hola muy buenas a tod@s, necesito de vuestra ayuda. La idea es que tengo que enviar mails a 800 usuarios mas o menos. Ahora mismo ...
  #1 (permalink)  
Antiguo 03/10/2015, 07:04
Avatar de Kazukih  
Fecha de Ingreso: octubre-2015
Ubicación: En mi casa =)
Mensajes: 4
Antigüedad: 8 años, 6 meses
Puntos: 0
Pregunta Sugerencias para agilizar envio de emails

Hola muy buenas a tod@s, necesito de vuestra ayuda.
La idea es que tengo que enviar mails a 800 usuarios mas o menos. Ahora mismo lo que tengo hecho es lo siguiente:
- Recoge los usuarios a los que tengo que mandar la factura.
- Con un bucle recorro cada socio y armo un pdf con los datos de la BD para hacer su factura.
- Adjunto ese pdf con PHPmailer para enviar el correo y lo envió.
- Y sigo así con cada socio.

Mi problema es que hasta que no termina de crear y adjuntar el pdf no salta al siguiente socio. Y al realizar la prueba tarda aproximadamente 2 minutos por socio, por lo que si tengo que mandárselo a todos tardaría muchísimo y podría llegar a dar problemas.

Mi idea fue inicializar 2 bucles a la vez, pero me di cuenta que php no tiene hilos e implementarlos es un quebradero de cabeza.

Así que sin ideas ya en la cabeza recurro a vosotros. ¿Alguien me podría ayudar por favor?
  #2 (permalink)  
Antiguo 03/10/2015, 08:47
 
Fecha de Ingreso: diciembre-2009
Mensajes: 92
Antigüedad: 14 años, 4 meses
Puntos: 13
Respuesta: Sugerencias para agilizar envio de emails

Hola;

Lo primero que se me ha ocurrido es que hagas varios hilos de ejecución, si es demasiado complicado en PHP puedes hacer un proceso en JAVA que es más sencillo y le pasas la información desde PHP con sockets o similar.

Pero después de pensarlo creo que 2 minutos por socio es demasiado exagerado, creo que debería tardarte como máximo 10 o 20 segundos. Deberías comprobar si lo que tarda es la consulta a la BD, la generación del PDF o la generación del MAIL y intentar reducir este tiempo, ya sea porque utilizas una mala librería, muy poca RAM o CPU o la base de datos es lenta.

Estas son mis ideas, espero que otra gente pueda aportar más…

Saludos.
  #3 (permalink)  
Antiguo 05/10/2015, 07:14
Avatar de Kazukih  
Fecha de Ingreso: octubre-2015
Ubicación: En mi casa =)
Mensajes: 4
Antigüedad: 8 años, 6 meses
Puntos: 0
Respuesta: Sugerencias para agilizar envio de emails

Hola muchas gracias por responder.
Si pensé pasar los datos a java, pero pensaba que había una forma en php y no quería enredar el proceso.

Y ya lo comprobé antes de consultar por aquí. El pdf se hace instantáneo como mucho tarda 1 o 2 segundos ya que para montar el pdf consulta a la BD. Eso me deja claro que el montaje del pdf y las consultas a la base de datos creo que están bien.
Y lo que creo que tarda tanto es a la hora de adjuntar el pdf en el mail, porque quite esa función y ya no era tan exagerado lo que me tardaba.

También influye que estoy con un equipo de trabajo y es una patata

Lo que recién estoy probando es no hacer pdf sino un archivo html e insertarlo en el mail, pero no se si quedara bien visualmente desde el cliente.

Etiquetas: emails, sugerencias, usuarios
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 01:40.