phpmailer SMTP ERROR: Failed to connect to server: Permission denied (13)

1、ThinkPHP在使用第三方库PHPMailer发送邮件时报错,如题所示,何解;

2、此处省略排错过程的几十万字…..

3、我的服务器CentOS7,有种东西叫“SELinux”,至于这是个什么东西,再次省略几万字;

4、正题,在linux下查看两个状态
$ getsebool httpd_can_sendmail
httpd_can_sendmail --> off
$ getsebool httpd_can_network_connect
httpd_can_network_connect --> off

5、如果后面带off,则很有可能与这个有关,如果是on,此文对你无用,后面的就不要看了;

6、两条命令将该两项安全项打开,问题得以解决!
$ setsebool -P httpd_can_sendmail 1
$ setsebool -P httpd_can_network_connect 1

7、如果还涉及到其他端口,不如干脆先把SELinux暂时关闭
$setenforce 0

参考链接:https://gistpages.com/posts/phpmailer_smtp_error_failed_to_connect_to_server_permission_denied_13_fix

Leave a Reply