ecshop实现smtp发送邮件


Posted in PHP onFebruary 03, 2015

使用ECShop的smtp方式发送邮件时,在cls_smtp类文件中,执行到get_data方法中的语句:

$line    = fgets($this->connection, 512);

;时,发生超时错误。

注释掉该函数的执行,直接发送邮件,则返回错误ehlo command failed。

但打印出链接数据时,确实连上了。

之前用别的程序发送邮件也是可以正常发送的,于是重新发送函数,改用phpmailer发送邮件。

function smtp_mail($name, $email, $subject, $content, $type = 1, $notification=false) {

     /* 如果邮件编码不是EC_CHARSET,创建字符集转换对象,转换编码 */

    if ($GLOBALS['_CFG']['mail_charset'] != EC_CHARSET)

    {

        $name      = ecs_iconv(EC_CHARSET, $GLOBALS['_CFG']['mail_charset'], $name);

        $subject   = ecs_iconv(EC_CHARSET, $GLOBALS['_CFG']['mail_charset'], $subject);

        $content   = ecs_iconv(EC_CHARSET, $GLOBALS['_CFG']['mail_charset'], $content);

        $shop_name = ecs_iconv(EC_CHARSET, $GLOBALS['_CFG']['mail_charset'], $GLOBALS['_CFG']['shop_name']);

    }

    $charset   = $GLOBALS['_CFG']['mail_charset'];

    include_once ROOT_PATH . 'includes/phpmailer/class.phpmailer.php';

    $mail = new PHPMailer();

    $mail->From = $GLOBALS['_CFG']['smtp_user'];

    $mail->FromName = '云南***播有限公司';

    if ($GLOBALS['_CFG']['mail_service'] == 0) {

        $mail->isMail();

    } else {

        $mail->IsSMTP();

        $mail->Host = $GLOBALS['_CFG']['smtp_host'];

        $mail->Port = $GLOBALS['_CFG']['smtp_port'];

        $mail->SMTPAuth = !empty($GLOBALS['_CFG']['smtp_pass']);

        $mail->Username = $GLOBALS['_CFG']['smtp_user'];

        $mail->Password = $GLOBALS['_CFG']['smtp_pass'];

    }

    $mail->Encoding = "base64";

    //$mail->Priority     = $this->priority;

    $mail->CharSet      = $charset;

    $mail->IsHTML($type);

    $mail->Subject      = $subject;

    $mail->Body         = $content;

    $mail->Timeout      = 30;

    $mail->SMTPDebug    = false;

    $mail->ClearAddresses();

    $mail->AddAddress($email, $name);

    $mail->ConfirmReadingTo = $notification;

    $res = $mail->Send(); 

    if (!$res)

    {

        $GLOBALS['err']->add($mail->ErrorInfo);

        $GLOBALS['err']->add($GLOBALS['_LANG']['sendemail_false']);

        return false;

    }

    return true;

}

以上就是本文的全部内容了,希望小伙伴们能够喜欢。

PHP 相关文章推荐
PHP中VC6、VC9、TS、NTS版本的区别与用法详解
Oct 26 PHP
分享下页面关键字抓取www.icbase.com站点代码(带asp.net参数的)
Jan 30 PHP
非常好用的Zend Framework分页类
Jun 25 PHP
一个不易被发现的PHP后门代码解析
Jul 05 PHP
ci检测是ajax还是页面post提交数据的方法
Nov 10 PHP
PHP获取POST数据的几种方法汇总
Mar 03 PHP
php计划任务之验证是否有多个进程调用同一个job的方法
Dec 07 PHP
PHP中Array相关函数简介
Jul 03 PHP
Yii2框架数据验证操作实例详解
May 02 PHP
PHPUnit测试私有属性和方法功能示例
Jun 12 PHP
Laravel 关联模型-关联新增和关联更新的方法
Oct 10 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
Dec 25 PHP
PHP中使用php://input处理相同name值的表单数据
Feb 03 #PHP
PHP中实现接收多个name相同但Value不相同表单数据实例
Feb 03 #PHP
四种php中webservice实现的简单架构方法及实例
Feb 03 #PHP
php上传中文文件名乱码问题处理方案
Feb 03 #PHP
php上传文件常见问题总结
Feb 03 #PHP
PHP、Python和Javascript的装饰器模式对比
Feb 03 #PHP
php对象在内存中的存在形式分析
Feb 03 #PHP
You might like
PHP下通过file_get_contents的代理使用方法
2011/02/16 PHP
修改PHP的memory_limit限制的方法分享
2012/02/21 PHP
浅析php数据类型转换
2014/01/09 PHP
百度ping方法使用示例 自动ping百度
2014/01/26 PHP
Zend Framework教程之配置文件application.ini解析
2016/03/10 PHP
PHP实现电商订单自动确认收货redis队列
2017/05/17 PHP
ThinkPHP5框架缓存查询操作分析
2018/05/30 PHP
详解在YII2框架中使用UEditor编辑器发布文章
2018/11/02 PHP
JQuery 入门实例1
2009/06/25 Javascript
js导航栏单击事件背景变换示例代码
2014/01/13 Javascript
jquery插件lazyload.js延迟加载图片的使用方法
2014/02/19 Javascript
extjs每个组件要设置唯一的ID否则会出错
2014/06/15 Javascript
js对象继承之原型链继承实例
2015/01/10 Javascript
js实现鼠标经过时图片滚动停止的方法
2015/02/16 Javascript
javascript异步处理工作机制详解
2015/04/13 Javascript
谈谈JavaScript自定义回调函数
2015/10/18 Javascript
JavaScript前端开发之实现二进制读写操作
2015/11/04 Javascript
javascript使用闭包模拟对象的私有属性和方法
2016/10/05 Javascript
AngularJs基于角色的前端访问控制的实现
2016/11/07 Javascript
js闭包用法实例详解
2016/12/13 Javascript
vue 2.0封装model组件的方法
2017/08/03 Javascript
vue如何集成raphael.js中国地图的方法示例
2017/08/15 Javascript
vue 实现剪裁图片并上传服务器功能
2018/03/01 Javascript
JavaScript对象原型链原理解析
2020/01/22 Javascript
[15:58]DOTA2国际邀请赛采访专栏:Tongfu.Sansheng&KingJ,DK.rOtk
2013/08/08 DOTA
Python重新加载模块的实现方法
2018/10/16 Python
通过Django Admin+HttpRunner1.5.6实现简易接口测试平台
2020/11/11 Python
CSS3弹性盒模型开发笔记(二)
2016/04/26 HTML / CSS
HTML5的Geolocation地理位置定位API使用教程
2016/05/12 HTML / CSS
俄罗斯的精英皮具:Wittchen
2018/01/29 全球购物
纪念九一八事变演讲稿:忘记意味着背叛
2014/09/14 职场文书
暑期社会实践个人总结
2015/03/06 职场文书
起诉意见书范文
2015/05/19 职场文书
2015年行政管理人员工作总结
2015/10/15 职场文书
《灰雀》教学反思
2016/02/19 职场文书
Vue全家桶入门基础教程
2021/05/14 Vue.js