mat*_*att 4 php apache email command-line sendmail
我试图弄清楚为什么PHP中的邮件功能在通过Web浏览器(即apache)调用时失败,但我可以从命令行运行相同的脚本
php -f mailtest.php
这是我客户端的Fedora服务器之一,所以我不完全了解它,但如果我需要更改任何内容,我确实有root访问权限.
来自php.ini:
sendmail_path =/usr/sbin/sendmail -t -i
不确定这是否重要,但是/ usr/sbin/sendmail是/ etc/alternatives/mta的符号链接,这是一个符号链接回/usr/sbin/sendmail.sendmail.FWIW apache用户确实有权运行sendmail(直接从命令行测试sendmail).
OS: Fedora Core 7 Linux (kernel 2.6.23.17)
Apache: 2.2.8
PHP: 5.2.6
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感谢!
mat*_*att 19
我发现了这个问题.SELinux阻止了apache能够使用sendmail.诊断,我用过
$ sestatus -b | grep sendmail
httpd_can_sendmail off
Run Code Online (Sandbox Code Playgroud)
然后实际解决问题:
$ restorecon /usr/sbin/sendmail
$ setsebool -P httpd_can_sendmail 1
Run Code Online (Sandbox Code Playgroud)
在这里阅读更多相关信息.