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