Добавьте задачу в крон, пусть вызывается каждые 5 минут.
Если в базе есть письма для отправки, и время больше назначенного, то отправляете почту.
После этого удаляете запись из базы данных.
В админке к форме отправки добавляете календарь с выбором даты и времени.