Ciao
Avevo anch'io lo stesso problema . . . ti dico come ho risolto

Su ogni pagina del mio sito ho un include("fileheaders.php"); che mi serve appunto per risolvere questo tipo di problemi, oltre al permettermi di cambiare la testata di tutte le pagine del mio sito contemporaneamente ed altre cose . . .

All'interno del fileheaders.php ho:

- inserito un controllo sulla data corrente chiamandola $dataoggi
- confronto la $dataoggi con un record $ultimadata salvato su un altro file
- se $ultimadata è uguale a $dataoggi NON succede nulla
- se $ultimadata è diversa da $dataoggi faccio partire un include("inviamail.php"); e ovviamente salvo il record $ultimadata con il valore di $dataoggi

Se oggi, almeno un visitatore visiterà una qualsiasi delle pagine del mio sito, partirà in automatico il tutto

Spero di averti dato un valido spunto

Buona giornata e buon lavoro