Как запускать срипты, по времени указаному в бд?
Э скрипт запускаемый раз в 1 минуту или раз в 5 минут и вытаскивающий время отправки. 

Для перфекционизма можно настроить локальный почтовик с лимитами отправки, что бы не заспамить почтовый сервер, ну и обрабатывать отбои писем.
Насколько принципиально отправлять сообщения в конкретно взятое время (к примеру, в 08:33:57)? Можно ли направлять сообщения с точностью "плюс-минус час"? 
Если можно, то достаточно создать 24 файла вида send_at_0900.txt, в каждый из которых накидать почтовые адреса предстоящей отправки. А потом раз в час пробегать скриптом по требуемому файлу и обеспечивать отправку (как уже писали выше "можно настроить локальный почтовик с лимитами отправки, что бы не заспамить почтовый сервер, ну и обрабатывать отбои писем.").