Ti sconsiglio di creare uno script che mandi 2000 mail, con o senza sleep dovresti innanzitutto gestire il problema del tempo di esecuzione dello script, con il rischio che se lo script si pianta devi poter gestire la ripresa della coda... a quel punto sapresti dove sei arrivato?
Personalmente preferisco il seguente approccio:
Tabella su db con memorizzato indirizzo a cui mandare la mail e stato (0 se da spedire e 1 se spedita).
Dopodichè richiamo uno script che preleva N indirizzi alla volta tra quelli che hanno lo stato settato a 0.
A questo punto puoi mandare la mail in bcc in una volta sola e settare a 1 lo stato di spedizione per questi indirizzi, oppure ciclare questi indirizzi e mandare una mail alla volta.
In questo modo sai sempre a chi hai già spedito la mail, e a chi no, inoltre scegliendo un numero basso non hai problemi di tempi di esecuzione.
La cosa da fare è poi tramite un sistema di cron richiamare la pagina che fa la spedizione ogni tot minuti.
ciao

Rispondi quotando