我是php
的新用户并使用Yii
框架。目前我遇到了如何向用户发送邮件的问题。我有一个表,其中有一个日期字段,指示何时需要发送电子邮件。此日期字段对于每个用户都不相同。当日期时间到来时,系统将向特定用户发送邮件。我怎样才能做到这一点。如果有人能给我一些代码示例,那将会更有帮助。我不想用玉米工作。需要一些代码示例。
表:
User_id job_title_id cv_type review_date status
A B C 16/05/2015 yes
答案 0 :(得分:0)
老实说一个cron作业(linux)或任务调度程序(windows)对这种情况特别有用,我强烈建议你使用这些内置的OS功能但是你在这里不这样做了我走了:
php中可能的解决方案是创建一个带有sleep的无限循环,如:
while(true){
try{
// Here should be the actual functionality to check the database
// and send e-mails to the specific user(s) if needed.
} catch(\Exception $e) { //this try catch exists to catch all exceptions that could crash this script.
echo $e->getMessage();
//notify yourself (by email) that an error has occurred
}
sleep(60*60); //In this case 1 hour sleep 60 seconds * 60 = 60 minutes
}
缺点是您必须手动启动作业一次,即如果世界是完美的......但是因为脚本可能会遇到PHP致命错误或服务器重启你,每次都必须手动重启这个脚本。要在linux中启动脚本,请执行以下操作:
nohup php script_name.php >> error.log & // nohup prevents the script from being closed when you exit the terminal