Il problema è che qualcuno deve chiamare la pagina affinché lo script venga eseguito.
Esempio pratico:
Se ti interessa che sia inviata un'e-mail agli utenti del tuo sito il giorno x indipendentemente dall'orario e sai che il tuo sito ogni giorno riceve almeno una visita non fai altro che creare l'e-mail ed il codice per inviarla nel modo che preferisci (direttamente nel codice della pagina, tramite database o come più ti piace). Imposti un test (se la data attuale è maggiore o uguale alla data di spedizione) e se è vero le e-mail saranno inviate.
Ovviamente devi fare in modo che questo codice sia eseguito.
Puoi inserirlo nell'home page oppure includerlo in tutte le pagine (ad esempio mettendo il codice in un header presente in tutte le pagine o includendo direttamente il file con il codice sempre in tutte le pagine, vedi tu cosa fa al caso tuo).
Anche inserendolo in tutte le pagine non sarà la fine del mondo in termini di impiego di risorse del server: elaborerà lo script solo se il controllo darà come risultato "vero", altrimenti si limiterà a fare un semplice controllo sulle date (magari con timestamp) ed una query sul database per verificare la presenza di e-mail da inviare e poi non farà altro.
Assicurati, comunque, che l'e-mail sia inviata solo una volta, altrimenti ad ogni pagina chiamata la invierai di nuovo con grande incazzatura dei tuoi utenti. Ragion per cui ti consiglio ti integrare tutto o almeno in parte con un database.
Se invece vuoi che sia inviata ad una precisa ora non si può fare molto.
So che se hai accesso a tutte le impostazioni del server si può impostare l'esecuzione di script ad una determinata ora, ma non so come si fa e nei normali servizi hosting questa possibilità non è prevista.