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 无限极分类
Mar 27 PHP
PHP无刷新上传文件实现代码
Sep 19 PHP
PHP数字字符串左侧补0、字符串填充和自动补齐的几种方法
May 10 PHP
学习php中的正则表达式
Aug 17 PHP
完美实现wordpress禁止文章修订和自动保存的方法
Nov 03 PHP
php的mssql数据库连接类实例
Nov 28 PHP
PHP永久登录、记住我功能实现方法和安全做法
Apr 27 PHP
超详细的php用户注册页面填写信息完整实例(附源码)
Nov 17 PHP
php版微信自定义回复功能示例
Dec 05 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
Nov 14 PHP
thinkPHP5框架闭包函数与子查询传参用法示例
Aug 02 PHP
php源码的使用方法讲解
Sep 26 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 模板高级篇总结
2006/12/21 PHP
php实现将wav文件转换成图像文件并在页面中显示的方法
2015/04/21 PHP
PHP中用mysqli面向对象打开连接关闭mysql数据库的方法
2016/11/05 PHP
php使用json_decode后数字对象转换成了科学计数法的解决方法
2017/02/20 PHP
Laravel框架实现的记录SQL日志功能示例
2018/06/19 PHP
ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例
2019/04/03 PHP
对textarea框的代码调试,而且功能上使用非常方便,酷
2006/06/30 Javascript
childNodes.length与children.length的区别
2009/05/14 Javascript
html a标签-超链接中confirm方法使用介绍
2013/01/04 Javascript
往光标所在位置插入值的js代码
2013/09/22 Javascript
jQuery中next()方法用法实例
2015/01/07 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/09/29 Javascript
jQuery源码解读之extend()与工具方法、实例方法详解
2017/03/30 jQuery
JS验证全角与半角及相互转化的介绍
2017/05/18 Javascript
Bootstrap Table 删除和批量删除
2017/09/22 Javascript
js canvas实现红包照片效果
2018/08/21 Javascript
在Express中提供静态文件的实现方法
2019/10/17 Javascript
浅谈Vue中render中的h箭头函数
2019/11/07 Javascript
vue 获取到数据但却渲染不到页面上的解决方法
2020/11/19 Vue.js
Python打包方法Pyinstaller的使用
2018/10/09 Python
python列表推导式入门学习解析
2019/12/02 Python
python GUI库图形界面开发之PyQt5线程类QThread详细使用方法
2020/02/26 Python
python GUI库图形界面开发之PyQt5信号与槽基础使用方法与实例
2020/03/06 Python
python中shell执行知识点
2020/05/06 Python
python与js主要区别点总结
2020/09/13 Python
Python基础进阶之海量表情包多线程爬虫功能的实现
2020/12/17 Python
利用HTML5中的Canvas绘制一张笑脸的教程
2015/05/07 HTML / CSS
Lee牛仔裤澳大利亚官网:美国著名牛仔裤品牌
2017/09/02 全球购物
2014年教师德育工作总结
2014/11/10 职场文书
2014年幼儿园老师工作总结
2014/12/05 职场文书
学校节水倡议书
2015/04/29 职场文书
博物馆观后感
2015/06/05 职场文书
绿里奇迹观后感
2015/06/15 职场文书
《用字母表示数》教学反思
2016/02/17 职场文书
PHP中多字节字符串操作实例详解
2021/08/23 PHP
浅析JavaScript中的变量提升
2022/06/01 Javascript