我正在开发一个php脚本,我想向用户发送自动邮件。 我用php脚本成功实现了一个cron作业,该脚本检查了一个php邮件队列表以查找待处理的邮件。 脚本运行正常,但是cron作业工作奇怪,它将邮件发送给用户,但一次只发送3或4个。我只想发一次邮件。我怎么能实现它?
我的cron作业每2分钟检查一次邮件队列表。
谢谢!
答案 0 :(得分:2)
每2分钟一次? 我的猜测是以前的cron工作没有完成,第二个工作开始,这就是为什么它会向同一个人或帐户发送多封电子邮件。
尝试将频率降低到每小时左右
答案 1 :(得分:0)
您需要在sent_status
等表格中维护一个字段。
在获取邮件时,请使用sent_status = 0
之类的sql WHERE子句,并在sent_status = 1
发送给用户的邮件时通过电子邮件ID更新此字段。
因此,单个用户无法批量收发邮件。
答案 2 :(得分:0)
添加一些类似于PID文件工作方式的代码:
$path = '/path/to/pid/file';
// Check for PID file's existance, if found exit.
if (file_exists($path))
{
echo 'PID File Exists';
exit;
}
file_put_contents($path, '1'); // Create PID file
// Execute your code
unlink($path); // Delete the PID file
一对夫妇注意到: