【发布时间】:2012-07-11 02:03:50
【问题描述】:
所以我有一个代码可以检查表格上的记录并通过电子邮件发送给他们。 table1 字段是:id - 用户 ID - 电子邮件 - 主题 - 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();
但我不知道如何实现延迟......
有什么想法吗?我感谢任何意见
【问题讨论】:
-
创建一个包含预定电子邮件的表格,创建随机发送时间并由专门的工作人员发送
-
根据您计划发送的电子邮件量,考虑为您的消息队列使用不同的存储引擎。例如,如果您使用 Oracle 或 MySQL 存储站点数据,则可以考虑使用 MongoDB 或 Couch 作为消息队列。
-
@Travis:使用 oracle 或 mysql 进行电子邮件调度有什么问题?
-
没有错。我提到它是因为在我目前的工作中,我们使用 Oracle 来处理事务数据,我们使用 MongoDB 来处理我们的电子邮件队列、报告数据、缓存和其他一些小事。如果对这些小事进行密集查询,则不会影响 Oracle 处理的更重要的事务性工作。
标签: php mysql email delayed-execution