我的cron作业已运行但未发送电子邮件。
/usr/bin/php -f /home/user/public_html/test/cron/checklist.php task=client
结果=确定
<?php
//get parameter from URL
$argv = $_SERVER['argv'];
$task = explode("=", $argv[1]);
?>
结果=确定
复杂化从这里开始!
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo.'<br>';
} else {
echo "Message sent!<br>";
}
它说“发送消息!”但没有发送电子邮件! 当我从网页上运行它作为测试时,它可以工作并发送邮件
我使用phpmailer发送。
答案 0 :(得分:0)
尝试/usr/bin/php -f /home/user/public_html/test/cron/checklist.php client
此外,在PHP代码中,区分Web服务器处理和命令行处理。这是一个例子:
if (php_sapi_name() == 'cli') {
echo "this is command line";
$task = $argv[1];
} else {
echo "run from a web server";
$argv = $_SERVER['argv'];
$task = explode("=", $argv[1]);
}
echo "\n task =";
echo $task;