php запланировать электронную почту за много дней до даты, хранящейся в db

как я могу запланировать отправку электронного письма на столько дней / недель до определенной даты?

У меня есть задание cron для создаваемой мной службы напоминаний. В настоящий момент задание cron рассылает напоминания по электронной почте в день. Я хотел бы отправить напоминание по электронной почте, скажем, за 2 недели до даты, которая хранится в базе данных.

Есть идеи, как этого добиться?

Спасибо, Дэн


person danyo    schedule 03.02.2013    source источник
comment
Не могли бы вы просто сохранить в базе данных дату, когда вы хотите, чтобы электронное письмо было отправлено?   -  person Dylan Cross    schedule 04.02.2013
comment
отредактируйте настройки задания cron!   -  person syrkull    schedule 04.02.2013
comment
ВЫБРАТЬ * ИЗ ХХХХ, ГДЕ поле_даты ›ДАТА_СБ (ТЕКУЩАЯ ДАТА (), ИНТЕРВАЛ 2 НЕДЕЛИ);   -  person    schedule 04.02.2013


Ответы (1)


Логика для этого у вас в значительной степени уже существует: если вы отправляете электронное письмо в день, просто измените дату, которую он должен проверять с сегодняшнего дня, на дату через две недели в будущем.

person Mark Tomlin    schedule 03.02.2013
comment
Просто не забудьте обновить базу данных, чтобы отразить, что электронное письмо было отправлено, например, добавив столбец «is_sent» и обновив его после отправки электронного письма. Таким образом вы можете: а) проверять, какие электронные письма были отправлены; б) предотвращать отправку писем несколько раз. - person thaJeztah; 04.02.2013