Erm, set up a database table which stores "to", "subject", "email body", "date required" and a "sent" flag. Insert the emails into this.
Then write a script which checks that table for all mails where "sent" = 0 and "date required" < Now(). It should send all the mails the query returns, and set the "sent" flag to 1 each time for each mail sent successfully.
Schedule a cron job to run that script daily, preferrably at a time of day when the server load tends to be at its lowest.