开发者

How to send emails via cron job usng PHP mysql

i managed to send multiple emails (check here).i am stuck with sending automated emails 开发者_运维知识库via cron.

This is what i need - while the admin send emails, i store the message, emails, event date in the database. now i am trying to set a cron job to send emails to all these ids from the table with the message i have as a reminder. i am not familiar with cron job scripting, can anyone help in guiding me the right way to write script that i can place in cron tab. I am planning to send two mails - one day exactly before the event and on the day of event.thanks


Just write a normal PHP script -- make one that will work if it's launched directly from the browser. Then schedule that very same PHP file to run in cron, using this as a guide:

http://www.unixgeeks.org/security/newbie/unix/cron-1.html

Basically, using the values at the beginning, specify the schedule (minute, hour, day of week, day of month, etc.). Then set the user it runs as, which is likely to be "apache" or whatever your web server daemon is running under. Then set the "command" that cron is running to be php php_email_script.php (where "php_email_script.php" is the name of your PHP file.


30 minutes and still no answer, here's a few open doors:

  • cron reads it's rules from system-wide /etc/crontab, or from you personal crontab which you edit with crontab -e
  • cron takes a format where you say on which minute / hour / day / month things should happen, use google or man crontab for the format
  • cron has the amazing side effect of mailing the output of the command to the user owning the crontab

Now you are stating that you're using php. The easiest way to get some php running from cron, is to issue a wget -O - -q http://yoursite.com/yourprocessingscript.php?verysecret=123123 and have an appropriate processing script on yoursite.com. (you may want to let that script check $_SERVER['REMOTE_ADDR'])

So in short, if you just put the right magic in /etc/crontab, like

0 0 * * * jay wget -q -O - "http://yoursite.com/processmidnight.php?secret=yes_very"

and have your script produce some sensible output, you will get a mail delivered to local user jay, which you may want to forward.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜