luozhangyou 发表于 2017-11-6 23:52:47

PHPMailer发送邮件出现Permission denied的解决办法

使用PHPMailer发送邮件, 可能会出现Permission denied错误, 如下:

2016-06-30 04:05:00 Connection: opening to smtp.exmail.qq.com:25, timeout=300, options=array ( ) 2016-06-30 04:05:04 SMTP ERROR: Failed to connect to server: Permission denied (13) 2016-06-30 04:05:04 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting Message could not be sent.Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

这是因为selinux拒绝httpd服务发送邮件, 可以修改selinux的规则。 步骤如下:

1、使用下面的命令查看selinux的权限。

getsebool -a| grep httpd_can_sendmail

OR

getsebool httpd_can_sendmail

2、再使用下面的命令允许httpd发送邮件。

setsebool -P httpd_can_sendmail 1

OR

/usr/sbin/setsebool-P httpd_can_sendmail on

OR

setsebool httpd_can_sendmail true 【我用这个解决的】


这样, 就能够正常发送邮件了。

页: [1]
查看完整版本: PHPMailer发送邮件出现Permission denied的解决办法