Di soluzioni ne puoi trovare molte, io per uno script che sviluppato nel tempo (non te lo posso postare perché prima di tutto ora è commercializzato, secondo è veramente troppo complicato e lungo) ho creato una gestione con Ajax.
Fai conto che può mandare un numero indefinito di mail, una alla volta, con un delay impostato fra una mail e l'altra, inoltre puoi sospendere/riprendere o annullare l'invio.
Sei inoltre aggiornato in tempo reale dello stato dell'invio e se le email sono partite senza problemi.
In poche parole, non so se hai inteso il messaggio fra le riga, studiati Ajax che è una gran pacchianata![]()