문제

Web Browser (IE Apache)를 통해 호출 될 때 PHP의 메일 기능이 실패하는 이유를 알아 내려고하지만 사용을 사용하여 명령 줄에서 동일한 스크립트를 실행할 수 있습니다.

php -f mailtest.php

이것은 내 고객의 Fedora 서버 중 하나이므로 완전히 맥주하지는 않지만 아무것도 변경해야한다면 루트 액세스 권한이 있습니다.

php.ini에서 :

sendmail_path =/usr/sbin/sendmail -t -i

이것이 중요한지 확실하지 않지만/usr/sbin/sendmail은/etc/sbin/sendmail.sendmail로 돌아가는 Symlink입니다. FWIW Apache 사용자는 SendMail을 실행할 수있는 권한이 있습니다 (명령 줄에서 직접 테스트 된 SendMail).

OS: Fedora Core 7 Linux (kernel 2.6.23.17)  
Apache: 2.2.8  
PHP: 5.2.6

여기서 도움을 주시면 감사하겠습니다!

도움이 되었습니까?

해결책

나는 문제를 발견했다. Selinux는 Apache가 Sendmail을 사용할 수없는 것을 방지했습니다. 진단하기 위해 사용했습니다

$ sestatus -b | grep sendmail  
httpd_can_sendmail                   off

그런 다음 실제로 문제를 해결하려면 :

$ restorecon /usr/sbin/sendmail
$ setsebool -P httpd_can_sendmail 1

그것에 대해 자세히 알아보십시오 여기.

다른 팁

사용자 권한 오류입니까? 귀하의 계정과 PHP 스크립트를 실행하는 데 사용되는 계정에는 다른 권한이있을 수 있습니다.

Apache의 error_log에있는 것이 있습니까? PHP가 Apache 모듈 또는 CGI 바이너리로 실행됩니까?

편집 : 흠 ... 오류 로그에 아무것도 없습니다. 전화는 무엇을합니까? mail(...) 반품? 메일 로그에서 흥미로운 것이 있습니까? 이것은 MTA에 따라 다릅니다. 종종/var/log/maillog

편집 2 : is safe_mode 켜고 당신은 사용하고 있습니까? mail() 기능 추가 _parameters ?

이것은 StackoverFlow에 대한 나의 첫 번째 대답입니다! :영형

그래서 나는 당신과 같은 문제를 겪었습니다, Matt! 나는 OpenSuse를 사용합니다. 나는 그것을 알아 냈다 postfix check 결과적으로

postfix/postfix-script: warning: not owned by group maildrop: /usr/sbin/postqueue
postfix/postfix-script: warning: not owned by group maildrop: /usr/sbin/postdrop
postfix/postfix-script: warning: not set-gid or not owner+group+world executable: /usr/sbin/postqueue
postfix/postfix-script: warning: not set-gid or not owner+group+world executable: /usr/sbin/postdrop

그래서 다음 명령을 실행했습니다.

# my postfix user is postfix and postfix group is maildrop
sudo chown 'postfix:maildrop' /usr/sbin/post{drop,queue}
sudo chmod g+s /usr/sbin/post{queue,drop}

그런 다음 브라우저에서 간단한 PHP 스크립트를 시도하여 모든 것이 잘 작동하는지 테스트했습니다.

<?php
$ret = mail('abc@gmail.com', 'subject', 'message');
if ($ret === true)
  echo 'Success'.PHP_EOL;
else
  echo 'Error'.PHP_EOL;

그리고 괜찮습니다! 이 방법으로 문제를 해결하시기 바랍니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top