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 相关文章推荐
基于MySQL到MongoDB简易对照表的详解
Jun 03 PHP
解决PHP超大文件下载,断点续传下载的方法详解
Jun 06 PHP
解决File size limit exceeded 错误的方法
Jun 14 PHP
PHP判断远程图片或文件是否存在的实现代码
Feb 20 PHP
php中使用base HTTP验证的方法
Apr 20 PHP
php开发工具有哪五款
Nov 09 PHP
CentOS 上搭建 PHP7 开发测试环境
Feb 26 PHP
[原创]php正则删除html代码中class样式属性的方法
May 24 PHP
微信公众号实现会员卡领取功能
Jun 08 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
Aug 28 PHP
php+websocket 实现的聊天室功能详解
May 27 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
May 27 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
微信 getAccessToken方法详解及实例
2016/11/23 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
JavaScript window.document的属性、方法和事件小结
2012/10/24 Javascript
jquery实现图片裁剪思路及实现
2013/08/16 Javascript
各浏览器对document.getElementById等方法的实现差异解析
2013/12/05 Javascript
JS中获取函数调用链所有参数的方法
2015/05/07 Javascript
jQuery基于图层模仿五星星评价功能的方法
2015/05/07 Javascript
JS文字球状放大效果代码分享
2015/08/19 Javascript
jQuery插件实现带圆点的焦点图片轮播切换
2016/01/18 Javascript
javascript实现全角转半角的方法
2016/01/23 Javascript
浅谈JS之iframe中的窗口
2016/09/13 Javascript
详解js树形控件—zTree使用总结
2016/12/28 Javascript
JS实现根据密码长度显示安全条功能
2017/03/08 Javascript
Vue axios 中提交表单数据(含上传文件)
2017/07/06 Javascript
详解小程序输入框闪烁及重影BUG解决方案
2018/08/31 Javascript
node.js实现为PDF添加水印的示例代码
2018/12/05 Javascript
vue draggable resizable 实现可拖拽缩放的组件功能
2019/07/15 Javascript
vue resource发送请求的几种方式
2019/09/30 Javascript
JS检索下拉列表框中被选项目的索引号(selectedIndex)
2019/12/17 Javascript
js实现百度淘宝搜索功能
2020/02/17 Javascript
vue Element左侧无限级菜单实现
2020/06/10 Javascript
python实现通过shelve修改对象实例
2014/09/26 Python
Python对列表排序的方法实例分析
2015/05/16 Python
django 2.0更新的10条注意事项总结
2018/01/05 Python
将 Ubuntu 16 和 18 上的 python 升级到最新 python3.8 的方法教程
2020/03/11 Python
PYQT5 vscode联合操作qtdesigner的方法
2020/03/24 Python
css3弹性盒子flex实现三栏布局的实现
2020/11/12 HTML / CSS
马来西亚最好的婴儿商店:Motherhood
2017/09/14 全球购物
铭立家具面试题
2012/12/06 面试题
PyQt QMainWindow的使用示例
2021/03/24 Python
四年级科学教学反思
2014/02/10 职场文书
实验心得体会
2014/09/05 职场文书
大学毕业典礼演讲稿
2014/09/09 职场文书
2014年大学教师工作总结
2014/12/02 职场文书
2015毕业生实习工作总结
2014/12/12 职场文书
闪闪红星观后感
2015/06/08 职场文书