我有一个议程系统,您可以在其中安排活动和约会,并为每个约会/活动选择日期和时间。
用户会选择接收其约会的提醒,提醒可以是活动开始前5分钟、活动开始前1小时、活动开始前2天等...
因此,如果用户的约会安排在今天晚上 10:00 并且提醒是“10m 之前”,我需要让 php 在晚上 9:50 向用户发送电子邮件。现在,我必须在活动开始前 5m、10m、30m、1h、2h、5h、12h、1d 和 2d 发送提醒。
如何让 PHP 在用户定义的时间发送电子邮件?
非常感谢。
我有一个议程系统,您可以在其中安排活动和约会,并为每个约会/活动选择日期和时间。
用户会选择接收其约会的提醒,提醒可以是活动开始前5分钟、活动开始前1小时、活动开始前2天等...
因此,如果用户的约会安排在今天晚上 10:00 并且提醒是“10m 之前”,我需要让 php 在晚上 9:50 向用户发送电子邮件。现在,我必须在活动开始前 5m、10m、30m、1h、2h、5h、12h、1d 和 2d 发送提醒。
如何让 PHP 在用户定义的时间发送电子邮件?
非常感谢。
您需要将系统分成两个应用程序:
第一个应用程序应将计划项目写入数据库,后端应用程序将从数据库中读取并发送电子邮件。
您可以构建它的一种方法是让计划的项目存储如下:
ScheduledItems
--------------
ID (int)
Title (string)
EventTime (datetime)
ReminderType (int)
ReminderSent (bool)
ReminderType
可能是您提到的提醒查找列表的外键:
活动开始前5m、10m、30m、1h、2h、5h、12h、1d、2d
然后将通过 cron 安排第二个应用程序可能每 5 分钟运行一次(因为这是最精细的提醒时间)并扫描ScheduledItems
哪里ReminderSent
是假的(尚未发送)并EventTime
减去ReminderType
查找表中的一些时间跨度值小于或等于当前日期时间。
For each record it finds, send the reminder and update ReminderSent
to true.