Ciao a tutti,
sto cercando di realizzare un semplice sistema di invio newsletter che permetta di inviare un dicreto numero di e-mail senza correre il rischio, o quanto meno riducendolo al minimo, di finire in spam.

Il sistema è così basato:

1) Ho impostato un cron che in pratica ogni 30 minuti verifica se ci sono modelli di newsletter (per modelli intendo il template html) da inviare.

2) Se ci sono modelli da inviare ha inizio il processo di invio ed un apposito script preleva 10 indirizzi email al database ed invia la newsletter.

Il problema è che non posso impostare il cron ad intervalli di tempo più piccoli dei 30minuti e di conseguenza sono costretto a spedire solo 10 mail ogni 30 minuti (10 mail è un valore che ho scelto per avere abbastanza margine per non andare in spam).
Infatti questo metodo può andare bene solo per poche centinaia email, ma per numeri maggiori è praticamente inutile inquanto impiegeherebbe troppo tempo.

A questo punto sto cercando il metodo per inviare,nell'arco di tempo dei 30 minuti, più di 10 mail, per esempio supponiamo 100 email (ma potrebbero essere anche 500) ma l'invio si dovrebbe scaglionare durante tutto l'arco dei 30 minuti.

Infatti supponendo 100 email ogni 30 minuti, si potrebbe inviare 10 mail al minuto ed esaurire il processo in soli 10 minuti, attendere poi 20 minuti per poi far ripartire il cron e ripetere l'operazione fino a quando non sono stati elaborati tutti gli indirizzi email.

Il problema è come ripetere l'invio ogni minuto???
Ho provato sia con la funzione sleep(60); e sia con header("Refresh: 60; URL=prova-invio-newsletter.php"); ma non funziona infatti sembra che con il cron lo script non viene aggiornato dopo il tempo impostato.

Avete qualche suggerimento?