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

Php 到期日通过电子邮件通知,php,mysql,Php,Mysql,我正在开发一个数据库,它可以保存劳工详细信息的记录 例如姓名、国家、签证有效期 因此,我想创建一个小脚本,搜索到期日期并将其与今天的日期进行匹配,并在签证到期前1个月内通过电子邮件向我发送通知。尝试以下操作: $monthAgo = date("y-m-d",strtotime('-1 month')); $sql = ("SELECT * FROM tablename WHERE visa_expiry_date < '".$monthAgo ."'"); $monthAgo=日期(“

我正在开发一个数据库,它可以保存劳工详细信息的记录 例如姓名、国家、签证有效期


因此,我想创建一个小脚本,搜索到期日期并将其与今天的日期进行匹配,并在签证到期前1个月内通过电子邮件向我发送通知。

尝试以下操作:

$monthAgo = date("y-m-d",strtotime('-1 month'));
$sql = ("SELECT * FROM tablename WHERE visa_expiry_date < '".$monthAgo ."'");
$monthAgo=日期(“y-m-d”,标准时间('-1个月”);
$sql=(“从表名中选择*,其中visa卡有效期<'“$monthAgo.”);
你会得到所有离到期还有一个月的签证。 然后你就用邮件发送一封电子邮件


在cron作业中完成这一切

尝试以下操作:

$monthAgo = date("y-m-d",strtotime('-1 month'));
$sql = ("SELECT * FROM tablename WHERE visa_expiry_date < '".$monthAgo ."'");
$monthAgo=日期(“y-m-d”,标准时间('-1个月”);
$sql=(“从表名中选择*,其中visa卡有效期<'“$monthAgo.”);
你会得到所有离到期还有一个月的签证。 然后你就用邮件发送一封电子邮件


假设您已经有了一个数据库表,那么就在cron作业中以非常粗略的大纲完成这一切

每天运行一个脚本,计算todayminusonemonth(在Stratton的回答中解决),并从数据库表中执行
select*,其中ExpireyDate=todayminusonemonth
。迭代结果集,用目标的特定信息编写一条消息,并使用php的邮件接口将其发送出去

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

看到了吗?这个问题的第一次分解相当容易。现在,您可以开始解决这些部分问题中的每一个,或者查找每个问题的信息/方法。您可以随意提出一个新问题,提出您可能有更具体需求的问题


您可能遇到的一个问题是,您的Web主机不允许执行cron脚本。假设您已经有了一个数据库表,一个非常有创意的使用网站监控服务的替代解决方案将在一个非常粗略的大纲中解释

每天运行一个脚本,计算todayminusonemonth(在Stratton的回答中解决),并从数据库表中执行
select*,其中ExpireyDate=todayminusonemonth
。迭代结果集,用目标的特定信息编写一条消息,并使用php的邮件接口将其发送出去

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

看到了吗?这个问题的第一次分解相当容易。现在,您可以开始解决这些部分问题中的每一个,或者查找每个问题的信息/方法。您可以随意提出一个新问题,提出您可能有更具体需求的问题

您可能遇到的一个问题是,您的Web主机不允许执行cron脚本。使用网站监控服务的一个非常有创意的替代解决方案在

中介绍。您可以尝试SQL Scheduler and Reporting Tool,它有一个作业代理,允许您使用查询返回的结果生成、格式化和发送个性化邮件。这允许您计划查询的执行。结果集可以通过电子邮件发送给多个收件人。您可以指定要使用此工具执行的外部文件或输入查询

阅读。

您可以尝试SQL Scheduler and Reporting Tool,它有一个作业代理,允许您使用查询返回的结果生成、格式化和发送个性化邮件。这允许您计划查询的执行。结果集可以通过电子邮件发送给多个收件人。您可以指定要使用此工具执行的外部文件或输入查询



阅读。

您需要查看
cron
作业吗?将在指定的时间以给定的间隔执行。

您需要查看
cron
作业吗?将在指定的时间以给定的间隔执行。

听起来很可行。你已经试过什么了?正如@fvu所说,这是可行的,但是你应该表现出一些努力。我们不能为你编写一个完整的系统,所以去做吧。这不是一个“为我制作程序”的网站。这是一个“关于编程语言的问题”网站。听起来很可行。你已经试过什么了?正如@fvu所说,这是可行的,但是你应该表现出一些努力。我们不能为你编写一个完整的系统,所以去做吧。这不是一个“为我制作程序”的网站。这是一个“关于编程语言的问题”网站。把它放在哪里?什么时候运行?对结果做什么?这将选择所有到期日在monthAgo之前的,不是一个好主意。如果脚本每天运行,则只应选择1天。如果不能保证它每天都运行,那么应该在数据库中添加一些字段,指示邮件已发送。将其放在哪里?什么时候运行?对结果做什么?这将选择所有到期日在monthAgo之前的,不是一个好主意。如果脚本每天运行,则只应选择1天。如果不能保证它每天运行,则应在db中添加一些字段,表明已发送邮件。“签证到期前1个月”“问题的分解很容易”*啊哼*根据OP的要求,应提前一个月发送通知。@Tomalak实际上是的。当然会有更多的分解步骤。“今天”和“今天-1m”之间的差异是一个错误,我更正了它。不过,这并不影响基本的分解方法。@fvu:不,但是当你把它搞砸时,术语“容易”的使用有点讽刺;)“签证到期前1个月”“问题很容易解决”*ahem*根据OP的要求,通知应该提前一个月发送。@Tomalak实际上是的。当然会有更多的分解步骤。Th