如何使用PHP在用户定义的日期和时间发送电子邮件?

时间:2013-01-10 02:39:13

标签: php email cron appointment

我有一个议程系统,您可以安排活动和约会,并为每个约会/活动选择日期和小时。

用户将选择接收预约提醒,提醒可以是活动开始前5分钟,活动开始前1小时,活动开始前2天等等。

因此,如果用户的预约安排在今天晚上10点,而提醒是“之前10米”,我需要让PHP在晚上9:50向用户发送电子邮件。现在,我必须在活动开始前提醒发送5米,10米,30米,1小时,2小时,5小时,12小时,1天和2天。

如何让PHP在用户定义的时间发送电子邮件?

非常感谢。

1 个答案:

答案 0 :(得分:1)

您需要将系统分为两个应用程序:

  • 用户用来安排事情的应用程序。
  • 发送电子邮件的后端应用程序。

第一个应用程序应该将计划的项目写入数据库,后端应用程序将从数据库中读取并发送电子邮件。

您可以构建此方法的一种方法是将计划项目存储为以下内容:

ScheduledItems
--------------
ID (int)
Title (string)
EventTime (datetime)
ReminderType (int)
ReminderSent (bool)

ReminderType可能是您提到的提醒的查找列表的外键:

  活动开始前5米,10米,30米,1小时,2小时,5小时,12小时,1天和2天

然后第二个应用程序将通过cron安排,可能每5分钟运行一次(因为这是最精细的提醒时间)并扫描ScheduledItems ReminderSent为假(尚未发送) )和EventTime减去ReminderType查找表中的某个时间跨度值小于或等于当前日期时间。

对于找到的每条记录,发送提醒并将ReminderSent更新为true。