2013-09-28 92 views
0

我不知道從哪裏開始設置自動重複發送電子郵件提醒應用程序。我目前有一個將數據插入到msyql數據庫的表單。發送基於日期的定期電子郵件使用PHP

<form method="post" action="save.php"> 

<p> 
    <label for="name">Full Name</label><br /> 
    <input type="text" name="name" data-h5-errorid="error-name" required /> 
    <span id="error-name" class="error">Please enter a full name</span> 
</p> 

<p> 
    <label for="address">Address (Street Address Only)</label><br /> 
    <input type="text" name="address" data-h5-errorid="error-address" required /> 
    <span id="error-address" class="error">Please enter an address</span> 
</p> 

<p> 
    <label for="email">Email</label><br /> 
    <input type="email" name="email" data-h5-errorid="error-email" required /> 
    <span id="error-email" class="error">Please enter a valid email address</span> 
</p> 

<p> 
    <label for="date">Date of Service</label><br /> 
    <input id="date" type="text" data-h5-errorid="error-service" name="date" required /> 
    <span id="error-service" class="error">Please choose a date</span> 
</p> 

<p> 
    <label for="reminder">Reminder</label><br /> 
    <select name="reminder"> 
     <option value="1">30 Days</option> 
     <option value="2">60 Days</option> 
     <option value="3">Semiannual</option> 
     <option value="4">Annual</option> 
    </select> 
</p> 

<p> 
    <label for="notes">Notes on Service</label><br /> 
    <textarea name="notes" rows="15"></textarea> 
</p> 

<p> 
    <input type="submit" value="Submit" /> 
</p> 

</form> 

我將所有字段存儲在數據庫中,並使用http://medoo.in/正常工作。如何根據服務日期和選定的提醒(每30天,60天,半年,每年)創建一個PHP腳本來發送定期發送的電子郵件?我正在考慮使用PHP郵件發送實際的電子郵件並運行每日cron作業。

回答

0
<?php 

//first start with a MySQL query to gather the rows to send an email 
//this is for 30 days but you can adjust the numbers for each case 

$30_day_query = "SELECT * FROM users WHERE reminder = 1 AND date 
BETWEEN DATE_SUB(NOW(),INTERVAL 29 DAY) AND DATE_SUB(NOW(), INTERVAL 30 DAY)"; 

$execute = mysql_query($30_day_query); 

while($row = mysql_fetch_array($execute)){ 
//get info of user 
$name = $row['name']; 
$email = $row['email']; 

//send the email however you want 
} 
//repeat for the rest of the reminder options 
?> 

如果您在日常的cron作業中運行此項目,您將不會發送重複的電子郵件。

+0

在初始服務日期之後,此查詢是否會每30天發送一次電子郵件?或者只是一次? – user2827087

+0

對不起,這將只是第一次。如果你想讓它重複出現,你可以把29和30改成變量,並把整個腳本放在for循環中。每次向變量添加30次,要多少次。雖然可能有一個更簡單的方法... – TJE

0

如果您正在使用管理嚮導只要按照Cronjob execute PHP script答案由杜尚拉多耶維奇只寫一段代碼來配置的時間間隔爲您的cronjob。(與您的形式收到的數據。) 。 然後它幾乎完成!

相關問題