【不能发邮件的解决办法】使用阿里云免费主机搭建ucenter,不能连接stmp服务器发送邮件的解决方案

由于部分主机(如万网)没有开启 stream_socket_client 函数导致没有办法通过 wecenter 的 SMTP 接口发邮件,而一般主机是开放 fsockopen 函数的,所以通过修改代码文件解决这个问题。
 
首页要在万网虚拟主机中修改php.ini配置,支持fsockopen;
然后在/system/Zend/Mail/Protocol/Abstract.php中 找到
$this->_socket = @stream_socket_client($remote, $errorNum, $errorStr, self::TIMEOUT_CONNECTION);
 
更改为
 
$this->_socket = fsockopen($remote, 25, $errorNum, $errorStr);
 

深度截图20150625132532.png

 
即可,亲测!
 
已邀请:

快网 - www.yirenji.com

赞同来自: cheungfei1

收藏了,虽然用不着,希望是正确的哦

cheungfei1 - 广西网站建设首选品牌

赞同来自: lee559

stream_socket_client函数???

vikingleo - 折腾PHP开源程序的前端er

赞同来自: lee559

卧槽!亲测,可用!
我用的是阿里云ECS CentOS 7 ,邮箱是163邮箱,程序版本是3.1.7

QQ截图20151211145954.png


QQ截图20151211150041.png

 
按照这个方法,我设置了一下QQ邮箱,发现不能使用,有没有人知道咋设置?

kimwang - 温饱尚未解决,不敢儿女情长。

顶你一个顺便收藏一下。

rockxie - ...

似乎新浪云上也是stream_socket_client函数禁用了,但是修改了之后,还是没办法发送。
 
用个万网企业邮箱就可以了解决了
我用的企业qq邮箱,修改以后,成功了,非常感谢

Robias - 什么都不是

mark一下
没有修改万网虚拟主机中修改php.ini配置,修改Abstract.php文件,然后申请了个万网免费企业邮箱解决了,
谢谢楼主!

该问题目前已经被锁定, 无法添加新回复