提醒申请人的电子邮件

时间:2012-04-12 22:37:40

标签: php mysql cron

我有一个应用系统,用户可以保存信息但不提交。显然,如果他们在截止日期前没有提交所有内容,则需要提醒他们。 我可以这样做的基本方法是,如果已经提交,那么我的数据库中的字段可以标记为1.但是,如果它是0,我希望发送一封电子邮件来提醒他们。

为了让它变得更复杂,从截止日期前4周开始,我想要一周发送一封电子邮件,在截止日期前3周发送两封电子邮件,依此类推,直到他们在截止日期前一周收到四封电子邮件。 (显然在一周内分散开来。)

我觉得每周只有一个问题对我来说很复杂,因为我还是新人!

研究它看起来好像我需要一个Cronjob,但如果有任何方法可以避免这种情况(触发器),那就更好了!

1 个答案:

答案 0 :(得分:0)

Cron的工作起初令人生畏,相关的流程可能看起来很难,但可以分解成碎片。此外,当您学习并考虑要包含的内容时,脚本将会增长。不知道你的数据库结构,也许大纲会让你入门。

决定运行脚本的频率(每天,每6小时等)
许多主机使用cPanel进行管理。它有一个与Cron Jobs一起使用的图标,以及简单或专家设置模式的选择。它也可能有示例设置。您将输入日,月,年,小时和分钟的数字或*(星号)以包括所有可能的数字。
初学者难以理解的另一个项目是使用命令来告诉服务器如何以及要处理的文件。这花了很多阅读,试用和错误。
一个例子:php -q /home/your_account_name/public_html/admin/yourfile_cron.php(服务器上的开头可能不同)

在剧本中:
(使用完整路径详细信息以避免以后出现问题,如上所述:/ home ...)

  1. 设置一些常量(调试文件,数据库密码文件等)
    使用fopen& fwrite记录你不会看到的东西进入屏幕
  2. 首先查询数据库以查找用户的姓名和电子邮件 发送
  3. 处理结果查询及其数据
  4. 制作电子邮件
  5. 发送电子邮件
    根据服务器,选择邮件程序。在某些情况下,mail()不会发送到localhost外部。 (PHP Mailer是一个选项)
  6. 使用文件运行结果更新数据库&发送
  7. 您可以通过在浏览器中访问并包含一些“回声”来运行脚本以进行测试。 cron作业通常不具有(或需要)屏幕输出。 在测试期间,我使用自己的电子邮件作为静态收件人。

    希望能让你开始。这是一项艰巨的任务,需要数天才能实施。但是,当它最终满足你的要求时,你会发现它是有益的!