我正在開發一個php腳本,我想向用戶發送自動郵件。 我用php腳本成功實現了一個cron作業,該腳本爲未決郵件簽出一個php郵件隊列表。 該腳本工作正常,但cron作業奇怪地工作,它發送郵件給用戶,但一次3或4。我只想發送一次郵件。我怎麼能實現它?PHP電子郵件Cron作業
我的cron作業每2分鐘檢查一次郵件隊列表。
謝謝!
我正在開發一個php腳本,我想向用戶發送自動郵件。 我用php腳本成功實現了一個cron作業,該腳本爲未決郵件簽出一個php郵件隊列表。 該腳本工作正常,但cron作業奇怪地工作,它發送郵件給用戶,但一次3或4。我只想發送一次郵件。我怎麼能實現它?PHP電子郵件Cron作業
我的cron作業每2分鐘檢查一次郵件隊列表。
謝謝!
您需要維護表格中的字段,如sent_status
。
在獲取郵件時,使用SQL WHERE子句(如sent_status = 0
),並在郵件發送給用戶sent_status = 1
時通過電子郵件ID更新此字段。
因此,單個用戶無法批量獲取郵件。
每隔2分鐘? 我的猜測是以前的cron工作沒有完成,第二個工作開始,這就是爲什麼它發送多個電子郵件到同一個人或帳戶。
儘量降低頻率以每隔一小時左右
哦!!!這可能是可能的..謝謝你會嘗試! – ashutosh
您也可以創建pid文件以檢查腳本是否仍在運行,如果是 - 不要再運行它 –
添加類似於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
一對夫婦的注意事項:
也許你應該發佈一些代碼:) –
請發佈你的crontab行和一些你的PHP代碼簡介 – Touki
你的表更新是否正確?換句話說,是發送超過1次的郵件,正確更新狀態'發送'或類似的? – Ben