在到期日之前自动发送电子邮件

时间:2014-05-12 08:43:37

标签: php email cron

在我的应用程序中,我需要将电子邮件自动发送给注册客户端,因为会员资格即将到期,cron job是自动发送邮件的唯一解决方案,我试过cron job,我可以发送邮件预定的时间,但我将如何采取客户的相应到期日期并触发邮件

    <?php

// Set this to your timezone
date_default_timezone_set('asia/kolkata');

// Start at 8:00 AM (24-hour time)
$startTime = mktime(8, 0, 0);

// End at 5:00 PM (24-hour time)
$endTime = mktime(17, 0, 0);


$currentTime = time();

// Do not send the email if it is outside of the allowed hours
if($currentTime < $startTime || $currentTime > $endTime)
{
    print('Not sending an email after hours.');
    die();
}

// Get the current day of the week as an index (0=Sunday, 6=Saturday)
$dayOfWeek = date('w');

// Do not send the email on weekends
if($dayOfWeek == 0 || $dayOfWeek == 6)
{
    print('Not sending an email on the weekends.');
    die();
}

// Info of person to receive the tests
define('TO_EMAIL',      'ramya.krish7@gmail.com');
define('TO_NAME',       'ramya');

// Info of person sending the tests
define('FROM_EMAIL',    'webmaster@serversendingtests.com');
define('FROM_NAME', 'Email Tester');

// Example: 8:00 am on 1 Nov 2010
$subject = 'Test: ' . date('g:i a \o\n j M Y');

$message = 'This email was automatically generated. Please send an email to yourusername@youremailprovider.com if you would like to disable these automated tests.';

$result = mail(TO_NAME . ' <' . TO_EMAIL . '>', $subject, $message, 'From: ' . FROM_NAME . ' <' . FROM_EMAIL . '>');
var_dump($result)

1 个答案:

答案 0 :(得分:0)

假设你通过cron job调用sendmail.php文件,那么你的代码应该包含: (因为您没有提供任何表格结构)

<?php

//get the result from clients table


//check whether clients expiry date is expired or not


// if yes then

//then said mail

//else

//do nothing


?>