在指定时间的12小时之前发送电子邮件

时间:2014-09-17 04:45:07

标签: php email time

我必须在会议时间的12小时之前向员工发送关于他的会议的电子邮件。会议时间存储在mysql表中。我应该使用PHP发送电子邮件。有人可以帮我这个吗?

2 个答案:

答案 0 :(得分:0)

是的,做一个搜索每条记录的Cron工作,花费时间。

然后检查(时间 - 43200)是否等于当前时间戳。 43200秒是12小时。

if (($time_from_db - 43200) === time())
{
    // send email
}

答案 1 :(得分:0)

如果您使用的是类Unix平台,则系统at队列比常规cron作业消耗更少的资源。只需在将事件添加到数据库时安排作业:

echo "echo 'Subject: meeting at $date' | sendmail '$user'" |
at "$(date -d "12 hours before $date")"

(概念证明;您可能希望使用宿主语言进行日期算术,即使它是PHP。)

记下队列号,以便在移动或取消事件时将其删除。