所以我有一个代码检查表上的记录并通过电子邮件发送给他们。 table1字段是:id - userid - email - subject - txt 代码如下(简化):
$sql = "SELECT * FROM table1 where userid='$userid'";
$results = mysql_query($sql);
while ($row = mysql_fetch_array($results))
{
mail($row['email'],$row['subject'],$row['txt']);
}
这将立即发送所有电子邮件。
我希望它能够发送随机延迟的电子邮件。
例如:发送第一封电子邮件,等待1小时,发送第二封,等待2小时,发送电子邮件3
等5小时,发送电子邮件5然后等待2小时......
我在考虑使用函数rand();
但我不知道如何实施延迟......
有什么想法吗?我感谢任何输入
答案 0 :(得分:3)
生成随机数,以小时格式将它们添加到时间戳中,并将它们保存在数据库中。
您可以使用PHP rand()
函数和mysql(特别是此mysql代码:DATE_ADD(NOW(), INTERVAL $randInteger HOUR)
)
每小时运行一个脚本,检查数据库是否有应该发送的电子邮件/要发送的电子邮件,然后根据它返回的信息执行。
你可以使用cron执行此操作(如果你有一个提供cpanel的主机,你可以在cpanel中使用它)