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 相关文章推荐
PHP5 安装方法
Oct 09 PHP
php面向对象全攻略 (十二) 抽象方法和抽象类
Sep 30 PHP
php截取后台登陆密码的代码
May 05 PHP
FireFox浏览器使用Javascript上传大文件
Oct 30 PHP
php设置允许大文件上传示例代码
Mar 10 PHP
PHP与MYSQL中UTF8 中文排序示例代码
Oct 23 PHP
PHP实现HTML页面静态化的方法
Nov 04 PHP
php 防止表单重复提交两种实现方法
Nov 03 PHP
PHP基于IMAP收取邮件的方法示例
Aug 07 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
Jun 16 PHP
php基于协程实现异步的方法分析
Jul 17 PHP
php中对象引用和复制实例分析
Aug 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错误和异长常处理总结
2014/03/06 PHP
Laravel模板引擎Blade中section的一些标签的区别介绍
2015/02/10 PHP
PHP实现的简单网络硬盘
2015/07/29 PHP
Yii2实现中国省市区三级联动实例
2017/02/08 PHP
PHP提取字符串中的手机号正则表达式怎么写
2017/07/17 PHP
PHP安装memcache扩展的步骤讲解
2019/02/14 PHP
JavaScript 未结束的字符串常量常见解决方法
2010/01/24 Javascript
使用jquery.form.js实现图片上传的方法
2016/05/05 Javascript
JS简单随机数生成方法
2016/09/05 Javascript
Bootstrap的popover(弹出框)2秒后定时消失的实现代码
2017/02/27 Javascript
详解基于webpack和vue.js搭建开发环境
2017/04/05 Javascript
简单理解Vue中的nextTick方法
2018/01/30 Javascript
浅谈jquery fullpage 插件增加头部和版权的方法
2018/03/20 jQuery
使用node打造自己的命令行工具方法教程
2018/03/26 Javascript
详解vue-cli+element-ui树形表格(多级表格折腾小计)
2019/04/17 Javascript
小程序跨页面交互的作用与方法详解
2020/01/07 Javascript
JavaScript实现密码强度实时验证
2020/03/18 Javascript
[02:46]2014DOTA2国际邀请赛 选手为你解读比赛MVP充满梦想
2014/07/09 DOTA
Python类属性与实例属性用法分析
2015/05/09 Python
Python实现将一个正整数分解质因数的方法分析
2017/12/14 Python
对python中的高效迭代器函数详解
2018/10/18 Python
django+echart绘制曲线图的方法示例
2018/11/26 Python
Python数据可视化之画图
2019/01/15 Python
Python 图像处理: 生成二维高斯分布蒙版的实例
2019/07/04 Python
使用Python项目生成所有依赖包的清单方式
2020/07/13 Python
Python Flask异步发送邮件实现方法解析
2020/08/01 Python
css3 iphone玻璃透明气泡完美实现
2013/03/20 HTML / CSS
法雷奥SQA(electric)面试问题
2016/01/23 面试题
给国外客户的邀请函
2014/01/30 职场文书
项目建议书模板
2014/05/12 职场文书
区政府领导班子个人对照检查材料
2014/09/25 职场文书
公安局负责人查摆问题及整改方案
2014/09/27 职场文书
综治维稳工作汇报
2014/10/27 职场文书
会计求职信怎么写
2015/03/20 职场文书
党员反腐倡廉学习心得体会
2015/08/15 职场文书
嵌入式Redis服务器在Spring Boot测试中的使用教程
2021/07/21 Redis