In primis devi essere sicuro che il server che ti hosta ti dia a disposizione il cron.

In secundis per controllare le operazioni devi farlo a database .
Cron lancia degli script ma non necessariamente il loro operato e' "controllabile" a meno che lo script cron stesso non esegua dei log o delle modifiche al db.


io farei cosi'

1- tabella email
2- tabella utenti
3- tabella di relazione email_utenti(per tracciare chi, quando e quante volte e' stato raggiunto)

4- script cron che prende l'email X controlla gli utenti
4.1- avvia il ciclo e se un utente e' gia' stato raggiunto non inviare l'email.
4.2- esegui il ciclo n volte facendo attenzione ai timeout(ma che ti vada lo puoi modificare hoster permettendo con una chiamata al php_ini( par , tempo )
4.3- ad ogni iterazione aggiorna la tabella di riferimento

5- script di controllo invio newsletter
5.1- controlla la tabella di relazione


NOTA: se vuoi controllare meglio eventualmente crea una tabella o file di log dove lo script scrive il suo stato(sleep,running) , quante op ha fatto, cosa ha spedito e a chi e se ha spedito correttamente.

IMPORTANTE: crea una casella ove redirigere eventuali "failures" quindi le mail dovranno avere il return path settato per i messaggi di fallito instradamento delle email cosi' puoi anche tenere d'occhio gli indirizzi attive e quelli no aggiornando di conseguenza la tabella utenti .

Penzaci