服务器主机发不了邮件解决办法攻略(邮件函数禁用问题)
作者:秋了秋 发表时间:2014年06月03日
最近本站搬家,搬到了浪点云主机,速度翻了好几番,但发现一个问题,mail()函数又出现堵塞,只能用smtp插件发邮件,但是主机商为了安全把邮件函数fsockopen和stream_socket_client给禁用了,插件也发不了邮件的,所以邮件功能几乎用不了。但是由于空间速度的优越性,不忍心放弃。遂寻找解决之道。大家都知道,邮件功能对wordpress的重要性,一个wordpress没有邮件功能几乎是半残的。一开始主机商并不知晓wp的解决办法,询问几次都无果。只知道叫你把fsockopen函数用pfsockopen函数替代,可他并不知道怎么替换,所以自己的程序还得靠自己。
一开始我只知道他禁用了fsockopen函数而不知道他也禁用stream_socket_client函数,所以尝试了很多办法都失效了,最后综合网上一些情况的解决办法总结出了一个办法。
首先要清楚smtp发邮件调用wp的哪个文件,就是wp-includes/class-smtp.php文件,找到它,搜索stream_socket_client,只有一处地方使用了该函数:
- $this ->smtp_conn = @stream_socket_client(
- $host . ":" . $port ,
- $errno ,
- $errstr ,
- $timeout ,
- STREAM_CLIENT_CONNECT,
- $socket_context
- );
把这一块代码改成:
- $this ->smtp_conn = @ pfsockopen (
- $host ,
- $port ,
- $errno ,
- $errstr ,
- $timeout
- );
然后在后台重新启用插件,最好重新设置一遍参数,再点击邮件发送测试,必定可以发送了,如还不能发送,那就不是这个问题的问题了。
邮件发送功能对一个wordpress来说非常重要,如果没有该功能,还得天天登陆后台查看有没有评论?重不重要?要不要回复?因为之前这几天该功能没有,造成很多评论我都不知道,以前我都是只要登着qq就能随时收发博客评论。如果smtp不能用,很多插件也会失效,包括QQ空间同步插件wordpress发表文章全文同步到QQ空间动态
1
文章作者: “秋了秋”个人博客,本站鼓励原创。
转载请注明本文地址:http://netblog.cn/blog/30.html