2013-09-28 3 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 일, 1 년, 1 년마다)을 기반으로 되풀이 이메일을 보내도록 PHP 스크립트를 만드는 방법은 무엇입니까? PHP 메일러를 사용하여 실제 전자 메일을 보내고 매일 cron 작업을 실행하는 방법을 생각했습니다. 당신이 매일 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 
?> 

, 당신은 중복 이메일을 전송하지 않습니다.

+0

이 쿼리는 초기 서비스 날짜 이후 30 일마다 이메일을 발송하는 데 적합합니까? 아니면 한 번? – user2827087

+0

죄송합니다, 이것은 처음으로 작동합니다. 그것이 다시 발생하기를 원하면 29와 30을 변수로 변경하고 전체 스크립트를 for 루프에 넣을 수 있습니다. 매번 변수에 30을 추가합니다. 원하는 횟수. 아마 더 쉬운 방법이있을 것입니다 ... – TJE

0

그냥 cronjob를위한 시간 간격을 구성하는 코드의 조각을 작성합니다. (양식에서 받았다 데이터와 함께.) 당신이 DirectAdmin에 단지의 Dušan Radojević에 의해 Cronjob execute PHP script 대답에 따라 사용하는 경우. 그 다음 거의 끝내게된다!

관련 문제