В БД таблица
id_кому, timestamp_когда, отправлено_когда (nullable)
Скрипт по крону раз в 5 минут собирает из базы
id_кому
тех, где текущее время больше, чем
ts_когда
, и которые ещё не отправлены (
отправлено_когда IS NULL
)
Отправляет, проставляет им время отправки.