如何使用PHP mysql通过cron作业发送电子邮件

时间:2010-07-30 02:13:37

标签: php email scripting cron

我设法发送了多封电子邮件(check here)。我坚持通过cron发送自动电子邮件。

这就是我需要的 - 当管理员发送电子邮件时,我将消息,电子邮件,事件日期存储在数据库中。现在我正在尝试设置一个cron作业,从表中发送电子邮件到所有这些ID,并提供消息作为提醒。我不熟悉cron作业脚本,任何人都可以帮助指导我编写可以放在cron选项卡中的脚本的正确方法。我计划发送两封邮件 - 在活动开始前一天和活动当天发送邮件。谢谢

2 个答案:

答案 0 :(得分:9)

只需编写一个普通的PHP脚本 - 如果直接从浏览器启动它,可以使用它。然后安排在cron中运行相同的PHP文件,使用它作为指南:

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

基本上,使用开头的值,指定时间表(分钟,小时,星期几,日期等)。然后设置它运行的用户,这可能是“apache”或任何你的web服务器守护程序运行。然后将运行cron的“命令”设置为php php_email_script.php(其中“php_email_script.php”是PHP文件的名称。

答案 1 :(得分:5)

30分钟但仍然没有回答,这里有几个敞开的大门:

  • cron从系统范围/etc/crontab或您使用crontab -e编辑的个人crontab中读取规则
  • cron采用的格式说明了应该在哪个分钟/小时/日/月发生的事情,请使用Google或man crontab格式
  • cron具有将命令输出邮寄给拥有crontab的用户的惊人副作用

现在你说你正在使用php。让一些php从cron运行的最简单方法是发出wget -O - -q http://yoursite.com/yourprocessingscript.php?verysecret=123123并在yoursite.com上有一个合适的处理脚本。 (您可能希望让该脚本检查$ _SERVER ['REMOTE_ADDR'])

简而言之,如果你只是把正确的魔法放在/ etc / crontab中,比如

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

并让您的脚本生成一些合理的输出,您将收到一封邮件发送给您可能想转发的本地用户jay。