Как отправить письмо на эл. почту средствами php по времени?
Добавьте  задачу в крон, пусть вызывается каждые 5 минут. 
Если в базе есть письма для отправки, и время больше назначенного, то отправляете почту. 
После этого удаляете запись из базы данных. 
В админке к форме отправки добавляете календарь с выбором даты и времени.
Микросервис: php-консольный таск-менеджер и менеджер очереди в одном лице.
С заданной периодичностью смотрит в бд, и как что-то есть в пуле задач на отправку, берёт каждую задачу на обработку.