[英]PHP - Send an e-mail with a delay of x time
我需要使用php代碼在x時間之后發送和發送電子郵件。
我不想使用cronjob。 因此,此代碼無法正常工作,因為它可以一次打印php代碼,並且不會像js那樣自動更改DOM。 但是我需要這樣的東西:
$today = date('Y-m-d H:i:s');
$dataorder = date("Y-m-d H:i:s", $order->created);
$delay_days = 240;
$senday = date('Y-m-d H:i:s', strtotime( "$dataorder + $delay_days min" ));
if ($today == $senday) {
echo "sent";
} else {
echo "not yet sent";
}
現在,我可以使用js,但是我不確定這是否行得通,這個php腳本是后端中的一個全部php頁面。 所以,我只能使用php嗎? 喜歡使用睡眠功能嗎? 或其他
我不知道是最好的方法。
(具體來說,這是一種發送電子郵件以記住要在網站上留下贊譽的系統。)
謝謝
您可以這樣實現,
當您擁有用戶的數據時,您就會知道特定用戶的注冊日期。
編寫一個每天執行的腳本,並選擇5天前所有已注冊用戶的腳本。 郵件將被發送到該日期所有匹配的用戶。
腳本將繼續執行,直到該日期的最后一個用戶得到處理為止。
您可以將每封電子郵件存儲在數據庫表或臨時文件中,此時用戶操作將發送待處理的電子郵件。 例如,您可以每10秒發出一個ajax請求,該請求將發送郵件以防止頁面緩慢加載。
更好的解決方案是將cronjob用於此類工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.