最新消息: 新版网站上线了!!!

phpcms邮件发送失败的原因

phpcms邮件发送失败的原因:

1: 最好的就是使用企业邮箱,(使用普通不知为啥不成功)

2:如果本地测试成功,服务器上测试失败,可能是服务器配置禁用fsockopen函数的原因
   通过phpinfo查看disable_functions项是否有fsockopen,如果有,说明就是这个问题。
   解决办法:
   打开:phpcms\modules\member\classes\client.class.php,
   把78行的:    if(!$fp = fsockopen($mail['server'], $mail['port'], $errno, $errstr, 30)) {
   改为:    if(!$fp = pfsockopen($mail['server'], $mail['port'], $errno, $errstr, 30)) {
   即把fsockopen改为pfsockopen。

PS:有些主机商禁用fsockopen函数功能,为了防止黑客利用程序漏洞注入后使用 fsockopen 进行PHPDDOS 攻击。
    fsockopen函数与pfsockopen函数,区别在于 pfsockopen 保持 keep-alive,使得黑客无法进行 连接数攻击。

转载请注明:谷谷点程序 » phpcms邮件发送失败的原因