使用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发送邮件。
OR
/usr/sbin/setsebool-P httpd_can_sendmail on
这样, 就能够正常发送邮件了。