我基本上有一个普通的php邮件功能脚本,它应该经常使用cron作业运行,但是如果我手动运行脚本,有些电子邮件在实际工作时不起作用。
例如在我的hoshing cron控制面板中我输入domain.ca/pear/Mail/test_mail.php
我是不是正确输入了网址?我应该使用某种cron作业命令require_once('Mail.php');
require_once('../Mail_Mime/mime.php');
$mail = Mail::factory("mail");
$headers = array("From"=>"me@example.com", "Subject"=>"Test Mail");
$body = "This is a test!";
$mail->send("example@gmail.com", $headers, $body);
这正是我的电子邮件脚本
此外,cron可以使用某些电子邮件地址,例如gmail。
因此,像我的学校这样的电子邮件在cron中不起作用,但在手动执行时起作用。该脚本还使用cron ..
更新数据库我的.sh文件中有这个:
/usr/local/nf/php5/bin/php -f ./test_mail.php
答案 0 :(得分:2)
您不能将URL单独放在cron规则中。在cron规则中使用基于文本的浏览器,例如lynx
或wget
:
* * * * * wget http://mypage.com
您可能希望为wget
或lynx
添加一些参数,以便它不会在服务器上保存输出,而只是模拟提取。或者将输出文件夹重定向到/tmp
或/dev/null
,以免浪费。查看相关工具的手册页:
man wget
或wget --help
通过Shell。
您也可以按照Artefact2的建议:* * * * * php script.php
。您可能需要在PHP代码的顶部添加PHP的shebang声明:
#!/usr/bin/php
<?php
// your PHP code here
Shebang需要指向系统中正常运行的PHP可执行文件。