У меня есть простой test.php
файл, который говорит:почта РНР() не работает от сети, но работает от CLI
if (mail('[email protected]', 'test mail', 'test mail test')){
echo 'ok';
}
else{
echo 'bad';
}
Когда я выполняю этот файл в CLI с php5 -f test.php
, выход файла будет равен ok
, Я получаю электронное письмо правильно, и /var/log/mail.log
получает строки, написанные на нем.
Однако, когда я выполняю этот файл с виртуального хоста apache2 (из Интернета, загружая его), он также сообщает ok
, но не создается журнал и я не получаю сообщение (оно не находится в папке SPAM или).
Любая идея, что я могу делать неправильно?
Одна идея, которая приходит мне на ум, заключается в том, что в CLI я выполняю ее как пользователь X
, а в virtualhost я считаю, что я выполняю ее как пользователя www-data
. Тем не менее, я не знаю, где проверить, существует ли такое ограничение для постфикса.
Любые идеи?
EDIT
Я тестировал его как www-data
в CLI, и это делает работу для этого пользователя в CLI.
sudo su www-data
php5 -f test.php
Хорошо, теперь я чувствую себя глупо. Благодаря! –