2012-04-12 186 views
1

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

为了使它更加复杂,从截止日期前4周开始,我需要一周内发送1封电子邮件,截止日期前两周发送3封电子邮件等等,直到他们在截止日期前一周收到四封电子邮件。 (显然在一周内分散)。

我感觉只有一个星期是probobly会对我来说足够复杂,因为我还是新的!

研究它看起来好像我需要一个Cronjob,但如果有反正避免这个(触发器),那会更好!

+0

呃,一周内发送4封电子邮件,我会很生气。但是,是的,你需要一份工作,每天晚上运行发送电子邮件更新数据库 – Justin808 2012-04-12 22:39:57

+0

同意,使用cron工作。这正是他们想要的。添加更多的电子邮件并不会让它变得更难;只需让cron运行一个查询数据库的PHP脚本,检查符合您各种条件的人,并向他们发送电子邮件。为了减少意外发送垃圾邮件的可能性,我还会有一张表格,用于存储每个发送给每个用户的每封电子邮件的记录,这样您就可以确保不会向用户发送两次相同的提醒电子邮件。 – octern 2012-04-12 22:50:06

+0

任何想法与我需要创建的PHP脚本? – user1257518 2012-04-12 22:54:53

回答

0

克朗职位起初令人望而生畏,相关流程可能看起来很难,但可以分解成几部分。此外,脚本将随着您学习和思考的内容而增长。不知道你的数据库结构,也许大纲会让你开始。

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

在脚本:
(使用完整路径细节,以避免出现问题后,像上面开始:/家...)

  1. 设置一些常数(调试文件,数据库密码文件等)
    使用的fopen & fwrite来记录的东西,你就不会明白对屏幕
  2. 开始查询数据库以查找用户名和e邮件发送
  3. 处理结果查询和数据
  4. 构建电子邮件
  5. 发送电子邮件
    根据服务器,选择邮件程序。在某些情况下,mail()不会发送到localhost之外。 (PHP梅勒是一个选项)
  6. 更新与运行&文件的结果数据库发送

您可以通过浏览器访问它,包括一些“回声”运行测试脚本。 cron作业通常不需要(或需要)屏幕输出。 在测试过程中,我使用自己的电子邮件作为静态收件人。

希望能让你开始。这是一项艰巨的任务,需要数天才能实施。但是,当它终于做到你所要求的时候,你会发现它是有价值的!

相关问题