我有几种类型的自动电子邮件要以编程方式发送给我数据库中的用户。金额会发生变化,但执行时间是:00。
因此,我没有将不同的 cron 作业设置为在一天中的不同时间执行,而是考虑只创建一个每小时运行的脚本,它会检查时间并相应地发送电子邮件。这是粗略的想法:
date_default_timezone_set('America/Los_Angeles');
// setting the timezone to the one of the hosting server
$cur_hour = (int)date('G'); // PDT hour
if ($cur_hour == 1) { // 1am
// collect information from db
// send e-mail A to these users
// update db
} elseif ($cur_hour == 2) { // 2am
// collect information from db
// send e-mail B to these users
// update db
} elseif ($cur_hour == 3) { // 3am
// likewise…
}
这是正确的方法还是有更有效或更好的方法来做到这一点?
附加信息: 某些电子邮件中存在变量,因此我无法在那里发送一封电子邮件。我需要分别向每个适用的用户发送例如电子邮件 A。而且还没有成千上万的用户。