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 相关文章推荐
dede3.1分页文字采集过滤规则详说(图文教程)
Apr 03 PHP
PHP 程序员的调试技术小结
Nov 15 PHP
PHP程序员最常犯的11个MySQL错误小结
Nov 20 PHP
php语言流程控制中的主动与被动
Nov 05 PHP
PHP图片等比缩放类SimpleImage使用方法和使用实例分享
Apr 10 PHP
destoon找回管理员密码的方法
Jun 21 PHP
php中getservbyport与getservbyname函数用法实例
Nov 18 PHP
如何解决PHP使用mysql_query查询超大结果集超内存问题
Mar 14 PHP
php 输入输出流详解及示例代码
Aug 25 PHP
PHP两个n位的二进制整数相加问题的解决
Aug 26 PHP
Yii2处理密码加密及验证的方法
May 12 PHP
laravel实现登录时监听事件,添加登录用户的记录方法
Sep 30 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
ThinkPHP实现批量删除数据的代码实例
2014/07/02 PHP
php实现可运算的验证码
2015/11/10 PHP
简单的pgsql pdo php操作类实现代码
2016/08/25 PHP
PHP读取并输出XML文件数据的简单实现方法
2017/12/22 PHP
javascript检查表单数据是否改变的方法
2013/07/30 Javascript
javascript实现起伏的水波背景效果
2016/05/16 Javascript
JavaScript实现阿拉伯数字和中文数字互相转换
2016/06/12 Javascript
angular中的http拦截器Interceptors的实现
2017/02/21 Javascript
JS实现动态添加DOM节点和事件的方法示例
2017/04/28 Javascript
Vue0.1的过滤代码如何添加到Vue2.0直接使用
2017/08/23 Javascript
详解nodejs解压版安装和配置(带有搭建前端项目脚手架)
2018/12/06 NodeJs
javascript实现手动点赞效果
2019/04/09 Javascript
Node.js实现一个HTTP服务器的方法示例
2019/05/13 Javascript
TensorFlow.js 微信小程序插件开始支持模型缓存的方法
2020/02/21 Javascript
解决vuecli3中img src 的引入问题
2020/08/04 Javascript
vue 自定指令生成uuid滚动监听达到tab表格吸顶效果的代码
2020/09/16 Javascript
解决vue scoped html样式无效的问题
2020/10/24 Javascript
NodeJS模块Buffer原理及使用方法解析
2020/11/11 NodeJs
[01:06:54]DOTA2-DPC中国联赛 正赛 SAG vs DLG BO3 第二场 2月28日
2021/03/11 DOTA
Python描述器descriptor详解
2015/02/03 Python
在Python的Django框架中为代码添加注释的方法
2015/07/16 Python
使用相同的Apache实例来运行Django和Media文件
2015/07/22 Python
总结用Pdb库调试Python的方式及常用的命令
2016/08/18 Python
python3利用smtplib通过qq邮箱发送邮件方法示例
2017/12/03 Python
小米5s微信跳一跳小程序python源码
2018/01/08 Python
django 信号调度机制详解
2019/07/19 Python
Pandas —— resample()重采样和asfreq()频度转换方式
2020/02/26 Python
法国在线宠物店:zooplus.fr
2018/02/23 全球购物
Hunkemöller西班牙:欧洲最大的内衣连锁店
2018/08/15 全球购物
Allsole美国/加拿大:英国一家专门出售品牌鞋子的网站
2018/10/21 全球购物
意大利网上药房:Farmacia 33
2020/01/27 全球购物
生物技术专业毕业生求职信范文
2013/12/14 职场文书
教师开学感言
2014/02/14 职场文书
教师三严三实学习心得体会
2014/10/11 职场文书
教师节座谈会主持词
2015/07/03 职场文书
商务信函英语问候语
2015/11/10 职场文书