空间商关闭fsockopen和pfsockopen函数导致phpcms 无法发送邮件的解决办法

原创 2015年11月18日 19:40:55

文章来源:合肥笑缘信息技术有限公司http://www.xyservice.com        如果转载,请注明出处,否则请勿转载,谢谢!

大家知道,虚拟主机因为其特殊性,Web服务的入门级产品有很多功能受到空间商的限制,比如某些服务商为了保证安全会禁用fsockopen和pfsockopen函数,但是这样一来,依赖fsockopen函数发邮件的phpcms就无法正常发送邮件了,合肥网站制作公司合肥笑缘信息技术有限公司教您如何解决phpcms无法发送邮件的问题

         我们要用到stream_socket_client这个函数,关于这个函数的详细用法请自行查找,不在本篇讲述范围,闲话少说,直接讲解决办法

         第一步:打开文件phpcms/libs/functions/mail.func.php

         第二步:找到下面这段代码(大概在第78行附近)

 

	if(!$fp = fsockopen($mail['server'], $mail['port'], $errno, $errstr, 30)) {
		runlog('SMTP', "($mail[server]:$mail[port]) CONNECT - Unable to connect to the SMTP server", 0);
		return false;
	}

第三步:将fsockopen($mail['server'],$mail['port'], $errno, $errstr, 30)替换为下面的代码:

stream_socket_client($mail['server'].':' .$mail['port'], $errno, $errstr, 30)


第四步:保存

 

好了,到这里,应该就可以发送邮件了,如果还是不行,请检查以下两点原因:

1.smtp服务器配置是否正确,用户名密码是否正确

2.邮件服务商是否允许远程发送邮件,邮箱是否开通了smtp服务(QQ邮箱默认就是关闭的),另外QQ邮箱需要设置独立密码并开通SMTP服务才可以远程调用。

3.如果以上几点都没问题,问问空间商,是不是连stream_socket_client函数也给禁用了,如果空间商连stream_socket_client函数也禁用了,好吧,别折腾了,估计空间商也不咋地,赶紧换空间商吧。


版权声明:本文为博主原创文章,未经博主允许不得转载。

安装phpcms v9时空间不支持fsockopen函数怎么办?

由于最近多种cms程序爆出各种各样的漏洞,其中由于fsockopen引起的漏洞入侵尤其的多,所以现在很多的空间商都关闭了fsockopen函数,而在安装phpcm v9的时候,会自动检测空间的相应设置...
  • zsj523
  • zsj523
  • 2014年04月10日 16:23
  • 3533

【phpcms v9】phpcms-v9系统中file文件缓存机制相关文件

一、file文件缓存类文件:'phpcmsv9\phpcms\libs\classes\cache_file.class.php'
  • yanhui_wei
  • yanhui_wei
  • 2015年07月19日 18:06
  • 2697

phpcmsv9后台管理生成首页静态模板技术ob系列函数实现

phpcmsv9后台管理生成首页 m=
  • yhjztoucher
  • yhjztoucher
  • 2014年06月05日 10:41
  • 2059

PHPcms 缓存的读取和设置

PHPcms设置了保存和读取缓存的方法,其实现方法存储在PHPcms/lib/functions/global.func.php文件中,设置缓存文件为setcache(), 读取缓存为getcache...
  • huobobo124
  • huobobo124
  • 2017年08月08日 15:45
  • 378

phpcms v9表单向导中怎么加入验证码

表单想到比较简单,所以没有加入验证码的功能。网上的类似教程又大多数不准确。所以亲自测试了一下,发现下面的方法是可用的。希望对有需求的朋友们有所帮助。 1、首先是调用表单的页面加入验证码。表单js...
  • djjx5227jj
  • djjx5227jj
  • 2015年03月25日 23:09
  • 1178

phpcms v9 get标签调用代码大全

phpcms标签调用   很多时候phpcms是我们做项目的时候用到的最好的内容发布系统了,虽然用别人的东西未免对于高手来说不耻了一些,但是能够有效的提高我们的工作效率未必也不是一件坏事1、调用本系统...
  • zsj523
  • zsj523
  • 2014年02月17日 15:54
  • 3634

Phpcms V9手机门户设置教程:怎么用PC V9做手机网站

一、在PHPcms V9管理后台设置手机门户 1.1、开启手机网站。位置:模块 》手机门户 》 添加手机站点,具体设置可参照截图: 填写站点名和LOGO文件相对位置,绑定用于手机网站的二级域名...
  • meimeieee
  • meimeieee
  • 2016年05月19日 09:55
  • 5791

phpcmsv9 如何实现用户登录

因为有时候我们需要自己实现用户登录,比如我们用phpcms做一个微信Oauth2.0授权,授权之后直接登录,这过程中不需要用户输入账户和密码。所以我们就要搞清楚,phpcmsv9它是怎么实现用户登录的...
  • vailook
  • vailook
  • 2016年08月04日 14:10
  • 1683

phpcms v9 的表单向导功能的使用方法 附多个案例

表单向导做的很实用,生成一个表单,常用的是把它作为一个留言板,或者在招聘栏目作为一个供网友填写个人信息的应聘表。 对于表单,默认的模板放在./phpcms/templates/default/for...
  • luyaran
  • luyaran
  • 2016年11月28日 10:48
  • 2414

【phpcms-v9】cache_all.php文件分析-更新缓存

[html] view plain copy  print? php   //路径:phpcms/modules/admin/cache_all.php控制器,此控制器主...
  • u011792166
  • u011792166
  • 2016年03月27日 09:43
  • 1231
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:空间商关闭fsockopen和pfsockopen函数导致phpcms 无法发送邮件的解决办法
举报原因:
原因补充:

(最多只允许输入30个字)