Credo sarebbe molto più semplice fare qualcosa del genere:
codice:
##
## PSEUDO CODICE
##
// Selezioni un limite massimo di
// 50 mail a cui va inviata la newsletter
$query = "select mail form table where send = 0 LIMIT 0,50" ;
// Esecuzione query
$result = mysql_query( $query ) ;
while( $row = mysql_fetch_array( $result ) ) {
// Impotetico metodo per mandare le mail
send_newsletter( $row['mail'] ) ;
// Aggiungi la mail ad un array
$sended[] = $row['mail'] ;
}
// Hai inviato tutte le mail
// Adesso aggiorni un flag nel db
// per dire che la newsletter è stata inviata
// Query di update
$query = 'UPDATE send = '1' WHERE' ;
$where = '' ;
$i = 0 ;
foreach( $sended as $mail ) {
// Costruzione dinamica clausola where
$where .= ($i == 0 ) ? 'mail = ' . $mail : 'AND mail = ' . $mail ;
}
mysql_query( $query.$where ) ;
In questo modo invii a blocchi le mail.
Magari richiami lo script da un cronjob o da una pagina che sai verrà sicuramente vista (tipo la home page).
Ciao!