在到期日通过电子邮件通知

时间:2011-09-13 09:37:29

标签: php mysql

我正在开发一个数据库,可以保存劳动者详细信息的记录 如姓名,国家,签证到期日。

所以,我想创建一个小脚本,搜索并匹配到期日和今天的日期,并在签证到期前1个月通过电子邮件向我发送通知。

4 个答案:

答案 0 :(得分:1)

一个非常粗略的概述,假设您已经有一个数据库表。

每天运行一个脚本,计算今天的月份(在Stratton的答案中解决)并执行select * from databasetable where expirydate = todayminusonemonth。迭代结果集,使用目标的特定信息撰写消息,并使用php的邮件界面发送出去。

这是迄今为止确保脚本每天运行的最简单的解决方案,如果这不是一个选项,则应该将一个列添加到数据库以指示邮件已发送。或者可以创建一个额外的表格,其中列出了已发送邮件的所有日期......

请参阅?这个问题的第一次分解非常简单。现在,您可以开始解决每个部分问题,或查找每个问题的信息/方法。随意创建一个具有更具体需求的新问题。

您可能遇到的一个问题是您的webhost不允许执行cron脚本。 I don't have cron jobs on my server. What is an alternative for sending emails without user input?

中介绍了使用网站监控服务的非常有创意的替代解决方案

答案 1 :(得分:0)

尝试这样的事情:

$monthAgo = date("y-m-d",strtotime('-1 month'));
$sql = ("SELECT * FROM tablename WHERE visa_expiry_date < '".$monthAgo ."'");

并且您将获得距离到期1个月的所有签证。 然后你只需用邮件发送电子邮件

在cron作业中完成所有这些

答案 2 :(得分:0)

您可以尝试SQLyog's SQL Scheduler和报表工具,它具有一个作业代理,允许您生成,格式化和发送包含查询结果的个性化邮件。这允许您安排查询的执行。结果集可以通过电子邮件发送给多个收件人。您可以指定外部文件或输入要使用此工具执行的查询。

阅读this

答案 3 :(得分:0)

你需要调查cron个工作?这将在指定的时间以给定的间隔执行。