Here's a "quick and dirty" "text-only" emailer...
HTML and/or multi-part emails will take more work...
As far as the time and date, you can setup a cron job that runs the php script at the appropriate times. If there are datetime reminders on a "per email recipient" basis, you'd need 1 or more additional fields in the database to limit the sql selection on.