Cron没有发送PHP电子邮件

时间:2018-06-05 18:56:14

标签: php email cron

我有以下脚本:

<?
$dir = './var/session';
$fi = new FilesystemIterator($dir, FilesystemIterator::SKIP_DOTS);
$fileCount = iterator_count($fi);

//    echo 'Directory Count: ';echo $fileCount;

//echo '<br />';



$bytes = 0;
foreach (new DirectoryIterator('./var/session') as $file) {
    if ($file->isFile()) {
        $bytes += $file->getSize();
    }
}

//echo $bytes;
//echo ' Bytes';
//echo '<br />';

 $MBbytes = number_format($bytes / 1048576, 2);
//echo $MBbytes;echo ' MB';



    $from = "mail@example.com";
    $to = "admin@example.com";
    $subject = "Session MB = " .$MBbytes;
    $message = "Session MB = " .$MBbytes."\n Directory Count: " .$fileCount;
    $headers = "From:" . $from;
    mail($to,$subject,$message, $headers,"-fmail@example.com");
//    echo "Email sent";

我正在尝试通过cron运行此脚本。当我通过在浏览器中访问它来运行它时它工作正常。我已经使用了每个cron表达式但电子邮件不会被发送。有什么建议?

2 个答案:

答案 0 :(得分:0)

试试这个: * / 10 * * * * php LOCALPATHTOYOURSCRIPT / session-folder-size.php

其中* / 10 * * * * - “每隔10分钟。”

答案 1 :(得分:0)

我找到了解决方案。 Wget被htaccess规则阻止了。我在日志文件中注意到403错误。不知道为什么它没有使用php运行...

感谢John Conde提供的日志文件提示。