Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过cron作业usng PHP mysql发送电子邮件_Php_Email_Scripting_Cron - Fatal编程技术网

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

如何通过cron作业usng PHP mysql发送电子邮件,php,email,scripting,cron,Php,Email,Scripting,Cron,我设法发送了多封电子邮件()。我一直坚持通过cron发送自动电子邮件 这是我所需要的-当管理员发送电子邮件时,我将消息、电子邮件、事件日期存储在数据库中。现在,我正试图设置一个cron作业,从表中向所有这些id发送电子邮件,并将我的消息作为提醒。我不熟悉cron作业脚本,有谁能帮助我正确地编写脚本,并将其放在cron选项卡中。我计划在活动前一天和活动当天发送两封邮件。谢谢只需编写一个普通的PHP脚本,如果它直接从浏览器启动,就可以运行。然后计划在cron中运行相同的PHP文件,并以此为指导:

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


这是我所需要的-当管理员发送电子邮件时,我将消息、电子邮件、事件日期存储在数据库中。现在,我正试图设置一个cron作业,从表中向所有这些id发送电子邮件,并将我的消息作为提醒。我不熟悉cron作业脚本,有谁能帮助我正确地编写脚本,并将其放在cron选项卡中。我计划在活动前一天和活动当天发送两封邮件。谢谢

只需编写一个普通的PHP脚本,如果它直接从浏览器启动,就可以运行。然后计划在cron中运行相同的PHP文件,并以此为指导:


基本上,使用开头的值指定计划(分钟、小时、星期几、月几等)。然后设置它运行时的用户,该用户可能是“apache”或您的web服务器守护程序运行时所使用的任何用户。然后将cron正在运行的“command”设置为
php php\u email\u script.php
(其中“php\u email\u script.php”是您的php文件名。

30分钟后仍然没有答案,这里有几个打开的门:

  • cron从系统范围的
    /etc/crontab
    ,或者从您用
    crontab-e
  • cron采用一种格式,您可以说事情应该发生在哪一分钟/小时/天/月,使用google或
    mancrontab
    作为格式
  • cron有一个惊人的副作用:将命令的输出发送给拥有crontab的用户
现在您正在声明您正在使用php。从cron运行一些php的最简单方法是发出
wget-O--qhttp://yoursite.com/yourprocessingscript.php?verysecret=123123
并且在yoursite.com上有一个适当的处理脚本。(您可能希望让该脚本检查$\u服务器['REMOTE\u ADDR'])

简言之,如果您在/etc/crontab中使用正确的魔法,比如

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

如果您的脚本生成一些合理的输出,您将收到一封发送给本地用户jay的邮件,您可能希望转发该邮件。

我以前也这样做,但根据我的经验,wget方法更易于维护,因为您仍然只有一个入口点。当然,您需要了解安全含义,以便为了安全起见,脚本不应该包含参数。嗨,谢谢,我按照你的指示做了。效果很好!我将把答案(简单查询和邮件功能)作为答案发布。我应该在“回答你的问题”下发布吗?您好,我的回答很快,如果我的查询返回的3条记录的日期在当前日期之后,它只是为第一条记录发送邮件,而不是为其他记录发送邮件。我尝试了while循环,但没有帮助。有什么建议吗?我会将此作为另一个问题发布,并以这种方式获得一些帮助。听起来您的查询或while循环都是错误的。您好,谢谢,你的解释和下面的答案帮助我走上了正确的方向。我很快就会发布我的内容。它工作得很好。谢谢。我尝试了curl方法,但通过在cron选项卡中调用php脚本实现了。