Hola,
A ver.. Hace tiempo que vengo pegandome con este tema.
Tengo una web en joomla, y utiliza phpmailer para enviar los emails.
Tengo que enviar en ocasiones notificaciones de un evento que ha ocurrido, a lo mejor a 500 o 1000 usuarios, y me di cuenta que cada vez ocurria el evento y se tenian que enviar los emails podia llegar a tardar mas de 2 minutos en recargar la pagina
Explorando el codigo y haciendo pruebas llegue a la siguiente conclusion.
El codigo del componente que utilizo para enviar esto tiene un bucle donde por cada usuario que va a enviaar el emails hace una iteracion y llama a la funcion de enviar emails.
Si son 600 veces la llama 600 veces
. Esto me parece una barbaridad.
Lo modifique de tal forma que metí en el bucle solo la intruccion
$mailer->addRecipient($email)
De esta forma se añaden en un array todos los emails donde quiero enviarlo, y finalmente se llama una sola vez al metodo para enviar el emails.
Y si que funciono, va muchisimo mas rapido, el problema es que ahora se ven todos los usuarios entre si, y no esta bien eso.
¿Como puedo solucionar esto? He pensado en usar addBBC(), pero no es muy profesional, ya que al llegarles el emails, en el campo destinatario no se ve nada, se ve en blanco.
Gracias