2016-11-17 56 views
0

如何發送電子郵件像一個提醒用戶在不打開網站並加載發送電子郵件,而無需打開網站

我有一個提醒部分用戶選擇了備忘的日期在此日期的電子郵件會在頁面發送給用戶,這應該沒有加載網站頁面工作

如何做到這一點?它可能只在PHP或我需要例如JavaScript?如果我需要它如何做到這一點?!

這是一封電子郵件,我使用

$date=date("Y-m-d"); 
    include("includes/connect.php"); 
    $sql=mysqli_query($conn,"select * from tbl_staff where db_rem='1' and db_asd >= now()")or die(mysqli_error($conn)); 
    while($row=mysqli_fetch_array($sql)){ 
     $mytask=$row['db_mytask']; 
     $name=$row['db_name']; 
     $user=$row['db_user']; 
     $asd=$row['db_asd']; 
     $asdf=strtotime($asd); 
     $asdformat = date('Y-m-d',$asdf); 
     $id=$row['db_id']; 
     $user_query=mysqli_query($conn,"select db_email from tbl_user where db_username='$user' limit 1")or die(mysqli_error($conn)); 
     $res=mysqli_fetch_array($user_query); 
     $email=$res['db_email']; 

    $to=$email; 
    $subject='Reminder TASK'; 
    $headers=''; 
    $headers .= "MIME-Version: 1.0\r\n"; 
    $headers .= "Content-type: text/html; charset=utf-8\r\n"; 
    $headers .= "From:[email protected]" . "\r\n" ; 
    $headers .="Reply-To:[email protected]" . "\r\n" ; 
    $headers .="X-Mailer: PHP/" . phpversion();  
    $message="$name Check this task $mytask PLEASE CHECK IT ON www.eiwms-progroup.com"; 
    $mail=mail($to,$subject,$message,$headers); 
    $query=mysqli_query($conn,"update tbl_staff set db_rem='2'")or die(mysqli_error($conn)); 

    } 

enter image description here

+3

Google *預定的Cron Jobs * –

+1

請注意,使用當前代碼不可能使用類似cron的作業調度程序,因爲從命令行調用腳本時沒有用戶會話的概念。 – jeroen

+0

@HankyPanky如何在php中使用玉米作業? – m7md

回答

0

我覺得PHP代碼,你應該在SESSION不只是儲存提醒的任務,但在DB - 在這種情況下,你可以使用crontab運行任務處理程序,它將檢查是否應該立即運行任何任務,並在需要時運行它們。 SESSION數據從crontab啓動的腳本中不可見,但DB數據可以從任何地方獲取。

+0

你可以請檢查以上我更新我的代碼,我做了我的服務器cron作業我已經把它的圖像正確的 – m7md

+0

直接在你的查詢中檢查日期,而不是獲取所有任務,然後在php中過濾它們。只需在你的WHERE條件中添加'AND db_asd <= now()' – AlexandrX

+0

我已經更新了我的查詢,請檢查其他任何東西 – m7md

相關問題