Web 主机无法发送邮件问题解决
在一台 Web 主机上安装了 WordPress ,很久没有去使用了,忘记了密码。打算使用“忘记密码”功能重置下密码。填写了邮箱之后,点确定,页面提示说“主机禁用了 mail 函数”之类。
马上查看 php.ini ,发现里面的相关 sendmail 并没有被注释,弄一个 phpinfo() 查看了下,发现 sendmail 确实是开启的。是怎么回事呢?直接 SSH 登录,输入
sendmail status
想查看一下 sendmail 的状态。结果一直没有动静。
哎呀,什么情况呀?看看日志吧。
tail -n 100 /var/log/maillog
看到里面有类似
fatal: open /etc/postfix/main.cf: Permission denied
字样。
看上去象是权限的问题呀,就 Google 了一下,嗯,原来是 SELinux 的问题呀。解决方法也很简单:
setsebool -P httpd_can_sendmail on
也有人说可以使用这个命令解决(未测试):
restorecon -v /etc/postfix/main.cf