phpmailer在服务器上不能正常发送邮件的解决办法


Posted in PHP onJuly 08, 2014

phpmailer本身是一个很不错的开源邮件类,也非常的易用简单,就是偶尔会出现程序上传到服务器上不能发送邮件的情况,在之前也有同学问过我这个问题,当时的时候总是不以为然,今天终于让我碰上了,用phpmailer 在本地测试正常,上传到服务器上就不行了,当然了是用的SMTP方式,最终确定是fsockopen 函数惹的祸,因为安全原因fsockopen 和pfsockopen 经常被服务器端关闭。解决方法如下:

而代之的应该是 stream_socket_client()函数,不过他的参数有一点不一样。

应这样更改phpmailer 的 class.stmp.php文件:

$this->smtp_conn = @fsockopen( $host,  // the host of the server
                 $port,  // the port to use
                 $errno,  // error number if any
                 $errstr, // error message if any
                 $tval);  // give up after ? secs

改为

$this->smtp_conn = @stream_socket_client( $host.':'.$port,  // the host of the server
                 $errno,  // error number if any
                 $errstr, // error message if any
                 $tval);  // give up after ? secs

这里 PHP版本应高于 5.0 的,因为较早版本没有stream_socket_client()函数的。
OK ,问题解决了。

PHP 相关文章推荐
PHP开发环境配置(MySQL数据库安装图文教程)
Apr 28 PHP
Windows 下的 PHP-PEAR 安装方法
Nov 20 PHP
解析link_mysql的php版
Jun 30 PHP
PHP PDOStatement:bindParam插入数据错误问题分析
Nov 13 PHP
PHP简单判断iPhone、iPad、Android及PC设备的方法
Oct 11 PHP
php实现文章置顶功能的方法
Oct 20 PHP
php实现URL加密解密的方法
Nov 17 PHP
thinkPHP5.0框架模块设计详解
Mar 18 PHP
PHP高精确度运算BC函数库实例详解
Aug 15 PHP
CI框架(CodeIgniter)实现的导入、导出数据操作示例
May 24 PHP
php时间戳转换代码详解
Aug 04 PHP
Laravel实现ApiToken认证请求
Oct 14 PHP
php去掉URL网址中带有PHPSESSID的配置方法
Jul 08 #PHP
PHP大批量插入数据库的3种方法和速度对比
Jul 08 #PHP
php发送get、post请求的6种方法简明总结
Jul 08 #PHP
PHP中对各种加密算法、Hash算法的速度测试对比代码
Jul 08 #PHP
微信公众平台天气预报功能开发
Jul 06 #PHP
最常用的8款PHP调试工具
Jul 06 #PHP
一个不易被发现的PHP后门代码解析
Jul 05 #PHP
You might like
php arsort 数组降序排序详细介绍
2016/11/17 PHP
Laravel框架控制器的middleware中间件用法分析
2019/09/30 PHP
javascript在一段文字中的光标处插入其他文字
2007/08/26 Javascript
MooBox 基于Mootools的对话框插件
2012/01/20 Javascript
jQuery学习笔记之jQuery动画效果
2013/09/09 Javascript
JS对象转换为Jquery对象实现代码
2013/12/29 Javascript
nodejs实现HTTPS发起POST请求
2015/04/23 NodeJs
jQuery获取上传文件的名称的正则表达式
2015/05/21 Javascript
详解JavaScript中shift()方法的使用
2015/06/09 Javascript
基于canvas实现的钟摆效果完整实例
2016/01/26 Javascript
Javascript闭包与函数柯里化浅析
2016/06/22 Javascript
AngularJS中transclude用法详解
2016/11/03 Javascript
jquery插件bootstrapValidator数据验证详解
2016/11/09 Javascript
详解js中Number()、parseInt()和parseFloat()的区别
2016/12/20 Javascript
微信小程序 slider的简单实例
2017/04/19 Javascript
解决BootStrap Fileinput手机图片上传显示旋转问题
2017/06/01 Javascript
vue项目中axios使用详解
2018/02/07 Javascript
javascript递归函数定义和用法示例分析
2020/07/22 Javascript
django 将model转换为字典的方法示例
2018/10/16 Python
对Python之gzip文件读写的方法详解
2019/02/08 Python
在python中修改.properties文件的操作
2020/04/08 Python
python批量处理多DNS多域名的nslookup解析实现
2020/06/28 Python
HTML5中的强制下载属性download使用实例解析
2016/05/12 HTML / CSS
凯撒娱乐:Caesars Entertainment
2018/02/23 全球购物
如何利用XMLHTTP检测URL及探测服务器信息
2013/11/10 面试题
材料采购员岗位职责
2013/12/17 职场文书
党员批评与自我批评
2014/02/12 职场文书
中学生操行评语
2014/04/24 职场文书
反邪教宣传工作方案
2014/05/07 职场文书
禁烟标语大全
2014/06/11 职场文书
地质工程专业毕业生求职信
2014/08/08 职场文书
个人贷款授权委托书样本
2014/10/07 职场文书
2014年学生会工作总结
2014/11/07 职场文书
2015年农村党员干部主题教育活动总结
2015/03/25 职场文书
Vue监视数据的原理详解
2022/02/24 Vue.js
TV动画《史上最强大魔王转生为村民A》番宣CM公布
2022/04/01 日漫