2014-05-11 4 views
0

У меня есть простой 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 

ответ

Смежные вопросы