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 Squid中可缓存的动态网页设计
Sep 17 PHP
PHP获取MAC地址的函数代码
Sep 11 PHP
php获取网卡的MAC地址支持WIN/LINUX系统
Apr 30 PHP
PHP is_subclass_of函数的一个BUG和解决方法
Jun 01 PHP
thinkphp在模型中自动完成session赋值示例代码
Sep 09 PHP
wamp服务器访问php非常缓慢的解决过程
Jul 01 PHP
php用户注册信息验证正则表达式
Nov 12 PHP
PHP数据的提交与过滤基本操作实例详解
Nov 11 PHP
PHP中call_user_func_array回调函数的用法示例
Nov 26 PHP
php+ajax实现异步上传文件或图片功能
Jul 18 PHP
php从数据库读取数据,并以json格式返回数据的方法
Aug 21 PHP
PHP chunk_split()函数讲解
Feb 12 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
在线短消息收发的程序,不用数据库
2006/10/09 PHP
PHP程序员常见的40个陋习,你中了几个?
2014/11/20 PHP
php超快高效率统计大文件行数
2015/07/05 PHP
php实现的SSO单点登录系统接入功能示例分析
2016/10/12 PHP
PHP验证码类ValidateCode解析
2017/01/07 PHP
PHPExcel实现的读取多工作表操作示例
2020/04/14 PHP
基于jquery的Repeater实现代码
2010/07/17 Javascript
ajax页面无刷新 IE下遭遇Ajax缓存导致数据不更新的问题
2012/12/11 Javascript
js实现文本框中输入文字页面中div层同步获取文本框内容的方法
2015/03/03 Javascript
学习Javascript闭包(Closure)知识
2016/08/07 Javascript
Bootstrap table简单使用总结
2017/02/15 Javascript
JS计算距当前时间的时间差实例
2017/12/29 Javascript
angularJS开发注意事项
2018/05/26 Javascript
使用jquery-easyui的布局layout写后台管理页面的代码详解
2019/06/19 jQuery
Vue的自定义组件不能使用click方法的解决
2020/07/28 Javascript
JQuery+drag.js上传图片并且实现图片拖曳
2020/11/18 jQuery
[05:24]TI9采访——教练
2019/08/24 DOTA
python获取指定网页上所有超链接的方法
2015/04/04 Python
Python实现对PPT文件进行截图操作的方法
2015/04/28 Python
Python for Informatics 第11章 正则表达式(一)
2016/04/21 Python
Python爬虫DOTA排行榜爬取实例(分享)
2017/06/13 Python
Python编程之黑板上排列组合,你舍得解开吗
2017/10/30 Python
基于循环神经网络(RNN)实现影评情感分类
2018/03/26 Python
python实现ip代理池功能示例
2019/07/05 Python
Pytorch 卷积中的 Input Shape用法
2020/06/29 Python
python利用opencv实现颜色检测
2021/02/23 Python
12个不为大家熟知的HTML5设计小技巧
2016/06/02 HTML / CSS
世界上最大的街头服饰网站:Karmaloop
2017/02/04 全球购物
全球最大的在线旅游公司:Expedia
2017/11/16 全球购物
新学期标语
2014/06/30 职场文书
工作表扬信范文
2015/01/17 职场文书
单位考核聘任报告
2015/03/02 职场文书
2015年清明节网上祭英烈留言寄语
2015/03/04 职场文书
如何开发一个渐进式Web应用程序PWA
2021/05/10 Javascript
MySQL高速缓存启动方法及参数详解(query_cache_size)
2021/07/01 MySQL
Linux中一对多配置日志服务器的详细步骤
2022/07/23 Servers