我一直在 stackoverflow 和许多其他网站上寻找想法,但到目前为止没有任何工作,我需要更直接的帮助。
我有一个专用的 Ubuntu 服务器(9.04 jaunty),我在那里运行几个 PHP 网站,使用 apache2。我的问题是 mail() 函数已停止工作。不久前,我一直在使用 PEAR Mail Queue 处理大多数电子邮件,所以我不确定 mail() 何时停止工作,但我仍然需要它来设置 OpenCart 以及其他一些东西,但是 mail()无论我做什么,都会返回 false。即使是这个简单的代码也行不通:
<?php
mail('mail@example.com','test','test');
?>
所以,我一直在查看 php.ini 中的 Sendmail-settings,所有这些都签出,当我在命令行中运行它时,它工作正常并向我发送一封电子邮件:
# sendmail
mail@example.com
test message
所以我认为可能是php本身有问题,所以我尝试了以下命令:
# php -r "mail('mail@example.com','test','test');"
它还可以毫无问题地发送电子邮件!那会是什么?我开始认为这可能是某种权限问题,也许 www-data 在运行脚本时遇到了一些问题。仍然不确定,因为我什至无法运行此脚本:
<?php
echo exec('whoami');
?>
它也返回错误!我已经运行了visudo命令并添加了以下行以防万一:
www-data ALL=(ALL) ALL
我已经将文件的用户和组所有者从root:root更改为www-data:www-data但仍然没有!
我还能尝试什么?一定有什么!谁能帮我?