Om du inte kan ha ett skript som körs kontinuerligt, måste något utlösa det, så det måste förlita sig på ditt operativsystems interna funktioner. I en unix-miljö skulle ett cron-jobb, som du själv säger, göra susen.
Ställ in cron för att köra skriptet och låt skriptet vänta en viss tid och fortsätt sedan att köra och skicka tills nästa e-postmeddelande är mer än denna givna tid borta. Låt sedan ditt skript lägga till ett nytt cron-jobb för en ny väckningstid.