1

所以我有一个代码可以检查表格上的记录并通过电子邮件发送给他们。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(); ,但我不知道如何实现延迟......有什么想法吗?我很感激任何意见

4

1 回答 1

3

生成随机数,将它们以小时格式添加到时间戳,并将它们保存在数据库中。

您可以使用 PHPrand()函数和 mysql 来执行此操作(特别是这个 mysql 代码DATE_ADD(NOW(), INTERVAL $randInteger HOUR):)

每小时运行一个脚本,检查数据库是否应该发送一封电子邮件/发送哪封电子邮件,然后根据它返回的信息进行检查。

您可以使用 cron 执行此操作(如果您有提供 cpanel 的主机,则可以在 cpanel 中执行此操作)

于 2012-07-11T02:14:44.557 回答