Amigos, les cuento, implementé un sistema de mailing masivo con PHP Mailer en modo SMTP que saca los correos de una base de datos donde desde un formulario se llenan los datos del mail a enviar como asunto, mensaje, etc. La idea de este sistema es que el cliente pudiera saber el progreso del envío masivo de la forma: X enviados de Y, donde Y es el total.
La única forma que se me ocurrió para poder saber el progreso de los mails enviados es obtener con ajax desde el cliente la lista de mails, recibirla en javascript en el cliente, y empezar a hacer tantas peticiones como correos hayan en la base de datos para poder enviar mails de a 1 y poder saber el progreso, el problema es que se debe hacer 1 consulta para enviar 1 correo en un ciclo for, lo cuál no me parece buena idea, el principal motivo es que el servidor me podría banear por pensar que el cliente está haciendo un ataque DoS (denegación de servicio) por hacer tantos request tan seguidos.
Busqué si había alguna forma de que al enviar el formulario se enviaran los datos del mail como asunto y mensaje al servidor y que el mismo servidor obtenga la lista y se los envíe a todos sin tener que andar haciendo X peticiones por cada envío, de modo que el script PHP vaya informando al cliente el progreso.
Es posible hacerlo de alguna forma?
PDTA: Envié a 570 usuarios un mailing con el método que ya tengo implementado (se hicieron 570 peticiones), y todo funcionó bien en poco tiempo. Si bien el server no me baneó, quizás si hubieran sido 1000 o 2000 los correos si hubiera pasado.
Eso, alguna idea?. Saludos!