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 相关文章推荐
自动跳转中英文页面
Oct 09 PHP
win2003服务器使用WPS的COM组件的一些问题解决方法
Jan 11 PHP
PHP语言中global和$GLOBALS[]的分析 之二
Feb 02 PHP
用PHP解决的一个栈的面试题
Jul 02 PHP
php常用文件操作函数汇总
Nov 22 PHP
PHP中的命名空间详细介绍
Jul 02 PHP
php微信公众号开发(3)php实现简单微信文本通讯
Dec 15 PHP
php获取excel文件数据
Apr 21 PHP
php脚本守护进程原理与实现方法详解
Jul 20 PHP
PHP自动载入类文件函数__autoload的使用方法
Mar 25 PHP
PHP实现数组向任意位置插入,删除,替换数据操作示例
Apr 05 PHP
在Laravel 的 Blade 模版中实现定义变量
Oct 14 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设计模式 Adapter(适配器模式)
2011/06/26 PHP
PHP中使用register_shutdown_function函数截获fatal error示例
2015/04/21 PHP
php如何获取文件的扩展名
2015/10/28 PHP
PHP 文件锁与进程锁的使用示例
2017/08/07 PHP
PHP设计模式之简单工厂和工厂模式实例分析
2019/03/25 PHP
PHP实现简单登录界面
2019/10/23 PHP
laravel7学习之无限级分类的最新实现方法
2020/09/30 PHP
parseInt parseFloat js字符串转换数字
2010/08/01 Javascript
jquery操作checkbox示例分享
2014/07/21 Javascript
jQuery实现购物车数字加减效果
2015/03/14 Javascript
使用iojs的jsdom库实现同步系统时间
2015/04/20 Javascript
Bootstrap 组件之按钮(二)
2016/05/11 Javascript
Jquery实现select multiple左右添加和删除功能的简单实例
2016/05/26 Javascript
Jquery组件easyUi实现表单验证示例
2016/08/23 Javascript
jquery插件ContextMenu设置右键菜单
2017/03/13 Javascript
基于Vue的移动端图片裁剪组件功能
2017/11/28 Javascript
Vue实现自定义下拉菜单功能
2018/07/16 Javascript
html+jQuery实现拖动滑块图片拼图验证码插件【移动端适用】
2019/09/10 jQuery
微信小程序表单验证WxValidate的使用
2019/11/27 Javascript
Python 学习笔记
2008/12/27 Python
使用cx_freeze把python打包exe示例
2014/01/24 Python
python重试装饰器示例
2014/02/11 Python
Python实现Tab自动补全和历史命令管理的方法
2015/03/12 Python
Python使用matplotlib绘制正弦和余弦曲线的方法示例
2018/01/06 Python
python统计中文字符数量的两种方法
2019/01/31 Python
python实现AES加密与解密
2019/03/28 Python
python使用Plotly绘图工具绘制气泡图
2019/04/01 Python
django框架中间件原理与用法详解
2019/12/10 Python
python如何将两张图片生成为全景图片
2020/03/05 Python
CSS3之多背景background使用示例
2013/10/18 HTML / CSS
门诊挂号室室长岗位职责
2013/11/27 职场文书
新闻学专业求职信
2014/07/28 职场文书
党员批评与自我批评
2014/10/15 职场文书
单位委托书
2014/10/15 职场文书
提取视频中的音频 Python只需要三行代码!
2021/05/10 Python
《遗弃》开发商删推文要跑路?官方回应:还在开发
2022/04/03 其他游戏