如何在PHP的特定日发送?

时间:2009-05-27 02:31:21

标签: php email datetime

我想要电子贺卡或类似的东西。用户可以选择电子贺卡,选择后,他必须输入一些字段,如姓名(往返),电子邮件(往返),留言,我想让用户选择发送电子贺卡的日期

如何在特定日期发送电子贺卡?我需要编写一个每天都运行的脚本吗?怎么做?对不起,我是php的新手...(但不是初学者,甚至不知道如何执行mysql查询,从网址获取消息等)

4 个答案:

答案 0 :(得分:9)

是的,您需要一个每天运行的脚本。 (除非通过检查Web请求来试图伪装,否则就会出现荒谬的操作。)在Unix环境中执行此操作的常用方法称为 cron job ;如果您的托管服务提供商是基于Unix的,那么您应该查看它们为您提供的cron作业所提供的内容。在Windows上有一个名为Scheduled Tasks的并行服务。

答案 1 :(得分:2)

这是* nix。 假设您有一个PHP脚本,在特定的日子发送电子邮件,名为mailer.php

<?php
    //mailer.php
    if (date("m/d/Y") == "06/02/2009") {
        mail("client@email", "Subject", "Body");
    }
?>

我们假设你已经在后台运行了cron守护进程。

如果您拥有对计算机的root访问权限,那么设置cron作业就像编辑文件一样简单。

打开/ etc / crontab文件并添加以下任务:

1 14 * * * root php /path/to/your/scrip/mailer.php

这意味着,作为root,mailer.php脚本将在每天下午02:01运行。您可以将数字更改为您想要的任何数字。

答案 2 :(得分:2)

这里讨论了一个类似的问题resetting-a-mysql-field-value-without-user-execution

我只想重申:基于网络的cron服务也是如此。如果您只有共享主机方案并且无法添加cron作业,这可能会派上用场。他们会定期调用您可以设置的URL。通常很便宜。 (无论如何,比升级到根访问服务器便宜。)

只需在Google上搜索web based cron

即可

侨! / 0

答案 3 :(得分:0)

这有点复杂。首先,它取决于您的系统。如果它是Linux / BSD / Unix / Solaris,那么你有这个方便的实用程序 cron 。如果您使用的是Windows,则表示计划任务。每天(或根据需要)运行您的脚本,并检查您今天要发送的卡片。