我有一个 CentOS 服务器,我的 SMTP 服务器连接了 apache 和 SSMTP。
如果我尝试从控制台发送电子邮件,它工作正常。"ssmtp ...@gmail.com"或"mail ...@gmail.com"
但是,如果我制作一个 php 脚本来发送电子邮件,当我从控制台(php script.php(执行它时它可以工作,但当我从 apache 服务器(localhost/script.php(执行它时
它不起作用。查看 apache 日志,我发现它无法连接到 smtp 服务器(日志中没有更多详细信息(。
Apache 与"apache"用户一起运行,当我从控制台执行 ssmtp 或类似内容时,我使用的是 root 用户,所以我认为系统阻止了 apache 用户的连接......
一些想法??谢谢!
(我尝试使用PHPMailer,但它返回相同的结果(
终于我解决了我的问题。诀窍在于 SELinux 许可。
我执行了这些命令,现在它就像一个魅力:)
塞布尔 -P httpd_can_network_connect=1
塞布尔 -P httpd_can_sendmail=1