Ciao,
alcuni consigli dati da precedenti esperienze nella gestione di newsletter con molti indirizzi

1) imposta il tempo limite della pagina 0
Codice PHP:
set_time_limit(0); 
2) aggiungi un campo alla tabella contenente gli indirizzi, usalo come flag per sapere per ogni indirizzo se hai inviato la mail o meno, in pratica lo azzeri prima di iniziare la newsletter, poi mail per mail valorizzi il campo dopo averla invita.
In questo modo qualsiasi cosa succeda al tuo script potrai sapere a chi hai già inviato ed eventualmente riprendere da quel punto

3) se le mail sono veramente tante dovresti considerare la possibilità di gestire una temporizzazione nell'invio, in quanto alcuni provider potrebbero limitare il numero di mail ma soprattutto molti server di posta potrebbero vedere come 'spam' l'invio di numerosi messaggi troppo ravvicinati nel tempo