文档章节

ecshop使用smtp发送邮件

qii
 qii
发布于 2015/02/03 14:36
字数 312
阅读 853
收藏 1

使用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;
}

至此,邮件可正常发送。

© 著作权归作者所有

共有 人打赏支持
qii

qii

粉丝 13
博文 77
码字总数 23520
作品 0
昆明
高级程序员
私信 提问
ECSHOP发送邮件提示need rcpt command的解决方法

在使用ECSHOP发送邮件的时候提示ERROR:need rcpt command!产生这个问题的原因是模板和编码不一致造成的,打开你的ECSHOP后台修改邮件服务器设置。 ECSHOP支持后面三种邮件编码: 国际化编码...

江湖哥
2014/02/12
0
0
整合 ECShop2.7.2 与 Discuz!6.0

1. 安装ECShop2.7.2 a) 推荐配置:LAMP(Linux+Apache+Mysql+PHP) 操作系统:Linux (支持Unix/FreeBSD/Solaris/Windows NT(2000/2003)等操作系统) WEB服务器:Apache (支持httpd, Zeus, II......

鉴客
2011/09/21
705
0
有没有必要学习ecshop的源码?

用对ecshop比较熟悉的么?最近有点闲,没事做去下了个ecshop的源码,回来研究一下。 看完index,goods,catalog,感觉除了数据库读写数据,smarty模板之外,代码很乱。 我以后不打算从事ecsho...

酱油炒饭
2014/04/01
5.3K
8
在ecshop商品列表页加一个购买数量输入框

我们在使用ecshop的时候,特别是批发站。 很多时候不能在ecshop商品列表页输入购买数量,是非常不方便的。 现在如果一次性购买好几个商品,十分的不方便,只有在ecshop的商品详细页面才能输入...

路边拾草人
2011/12/14
0
2
ECShop 2.7.2 最新任意用户登陆漏洞

由于最近项目需要, 查看了下商派最新发布的ECShop 2.7.2正式版的源代码, 没想到在看到第二个文件时就发现了一处比较明显, 且低级漏洞。这个漏洞可以让任何人以任何用户身份登录到ECShop前台!...

沱长
2010/05/05
5.6K
5

没有更多内容

加载失败,请刷新页面

加载更多

rabbitmq安装教程

RabbitMQ有Windows与Linux版本的,这里先写Windows版本的安装。 以前安装软件总是在百度上找某某安装教程,结果能按照教程安装好的软件真的不多。想起先前以为大牛说的一句话,去官网按照官网...

em_aaron
今天
6
0
Android 贝塞尔曲线实践——波浪式运动

一、波浪效果如下 贝塞尔曲线自定义波浪效果的案例很多,同样方法也很简单,大多数和本案例一样使用二次贝塞尔曲线实现,同样还有一种是PathMeasure的方式,这里我们后续补充,先来看贝塞尔曲...

IamOkay
今天
3
0
Nmap之防火墙/IDS逃逸

选项 解释 -f 报文分段 --mtu 指定偏移大小 -D IP欺骗 -sI 原地址欺骗 --source-port 源端口欺骗 --data-length 指定发包长度 --randomize-hosts 目标主机随机排序 --spoof-mac Mac地址欺骗 ...

Frost729
今天
2
0
带你搭一个SpringBoot+SpringData JPA的环境

不知道大家对SpringBoot和Spring Data JPA了解多少,如果你已经学过Spring和Hibernate的话,那么SpringBoot和SpringData JPA可以分分钟上手的。 其实我在学完SpringBoot和SpringData JPA了之...

java菜分享
今天
7
0
Chocolatey 在Window搭建一个开发环境

在看了(利用 Chocolatey 快速在 Windows 下搭建一个开发环境)后,准备从零开始 一、准备工作 1、用管理员权限启动:powershell,执行错误请参考(PowerShell因为在此系统中禁止执行脚本的解...

近在咫尺远在天涯
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部