我正在创建一个需要cron作业或计划任务的网站,每周发送电子邮件,但问题是我不知道主持人是否支持它...
本网站适用于某个机构,我不能把它放在任何其他主机......
主持人正在使用Apache。
如果不支持,如何在不更改主机的情况下自动发送每周电子邮件?
修改
我忘了说我是cron工作的新手。
答案 0 :(得分:1)
Apache与cron作业无关,因为在主机上运行的系统必须触发作业(然后可以调用在apache下运行的脚本)。
您是否有SSH访问权限?
将作业添加到/ etc / crontab文件或用户的cron文件中。
或者你有一些管理软件的Web界面(例如Plesk)? 在那里搜索Cron作业或计划任务的选项。
如果没有,您可以使用一些外部服务来调用您网站上的URL来触发http://www.setcronjob.com/之类的工作。
答案 1 :(得分:1)
首先,询问您的主机是否支持cron作业(它们应该是),检查您的面板(如果有),尝试设置一个并查看它是否有效等。
如果没有,一种可能的方法(除了查找将为您调用脚本的外部服务之外)是为您的代码添加一个函数,每当您的网站访问者输入特定代码时,该函数将被调用页面(例如索引)。在那里,您将检查工作日是否是您要发送电子邮件的那一天。如果是,则发送邮件,标记(例如数据库中的记录)以检查它是否已被发送。
当然,它不是理想的解决方案,所有其他(实际的crons或外部服务)都更好,但是因为它是一个解决方案,所以值得一提。
答案 2 :(得分:0)
您是否阅读过有关cron-daemon的文档? 此代码检查cron是否正在运行
ps -ef | grep cron
之后,您需要创建一个文件,可以处理电子邮件地址拾取和发送邮件。
还需要在cron上添加这样的东西(这只是一个例子,每个星期天,23点发送一些东西):
0 23 ? * 0 php /path/sendnewsletter.php