mail()函数无法识别php cronjob中的消息变量

时间:2016-05-11 12:29:18

标签: php email cron crontab

我有一个名为“basic.txt”的文本文件,其中包含以下文字

  


  是一个   测试文件。

我的cronjob每分钟运行一次我的php程序并给我发电子邮件。我收到的电子邮件没有问题,但它不会包含正文消息。这是我的PHP代码:

<?php
    $string = "";
    $file = fopen("basic.txt", "r");
    $string .= file_get_contents("basic.txt");
    $fclose($file);
    echo $string; // this is to test that in fact $string contains the text and it does
    mail("example@hotmail.com", "TEST", $string, "From: example@hotmail.com");
?>

为什么$ string不会将文本从文本文件发送到电子邮件正文,即使我可以使用“echo $ string”并且它工作正常?

由于

1 个答案:

答案 0 :(得分:2)

摆脱这两行:

 $file = fopen("basic.txt", "r");
 $fclose($file);

由于您已经在使用file_get_contents()来获取文件的内容。

从我的服务器运行代码:

  

致命错误:第5行的/path/to/file.php中的函数名必须是字符串

你的代码在默默地上失败了。

因此,在OP的情况下,根据评论中的建议,文本文件需要完整的系统路径,并且必须设置新的cron作业。