如何通过cron作业发送电子邮件php mysql

问题描述:

我设法发送多封电子邮件(check here)。我坚持通过cron发送自动电子邮件。如何通过cron作业发送电子邮件php mysql

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

只需编写一个普通的PHP脚本 - 制作一个能够直接从浏览器启动的脚本。然后计划是非常相同的PHP文件在cron运行,以此作为指导:

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

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

+0

我曾经这样做过,但根据我的经验,wget方法更容易维护,因为您仍然只有一个入口点。当然,您需要了解安全隐患,因此为了保持安全,脚本不应该有任何争论。 – mvds 2010-07-30 03:00:41

+0

嗨, 谢谢,我遵循你的指示,我做到了。它工作正常!我将发布答案(简单查询和邮件功能)作为答案。我应该在“回答你的问题”下发帖吗? – Jay 2010-07-31 01:23:25

+0

嗨,我很快回复,如果我的查询返回3日期是当前日期之后的记录,它只是发送邮件的第一个而不是其他人。我尝试while循环,但没有帮助。有什么建议么? – Jay 2010-07-31 02:28:59

30分钟,仍然没有答案,这里有几个敞开的大门。

  • 的cron读取它的规则,从全系统的/etc/crontab,或者从您个人的crontab您与crontab -e
  • 的cron编辑需要,你在哪分钟/小时/天/月的事情应该发生,使用谷歌或man crontab的说的格式格式
  • cron有惊人的副作用将命令的输出邮寄给拥有crontab的用户

现在你要说明你正在使用php。从cron运行一些php最简单的方法是发出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" 

,并让您的脚本产生一些合理的输出,你会得到一个邮件给本地用户杰伊,你可能想转发。

+0

嗨,谢谢,你的解释和下面的答案帮助我走向了正确的方向。我会发布我很快就会发布的内容。它工作正常。谢谢。我尝试了curl方法,但我通过在cron选项卡中调用php脚本。 – Jay 2010-07-31 01:24:44