Se ti va in timeout l'invio di tutte le email insieme, a maggior ragione andrà in timeout uno script che tra un invio e l'altro si mette in pausa e quindi impiegherà più tempo prima di finire il lavoro.
Anche il periodo di pausa è contato come durata dello script.
Per quello che vuoi fare devi usare Crontab, ammesso che il server su cui si trova il tuo sito te lo metta a disposizione, solitamente sugli hosting condivisi non è disponibile, ma qualcuno lo fornisce ugualmente, quindi informati presso il tuo hosting provider.