如何让帝国CMS商城订单自动触发邮件提醒,轻松掌握每笔交易动态
帝国CMS是个强大的内容管理系统,其商城的功能也很强大
当用户下单,支付后我们怎么知道有用户下单了呢?因为我们不能时时刻刻都在网站后台,不断的刷新页面去看有无订单,最常用的做法是用邮件提醒我们,有人下单了
怎么做到这个功能呢?
第一步:配置帝国后台系统设置-系统参数设置-FTP/EMAIL 这里配置EMAIL
一般用126邮箱,我的配置如下:
邮件发送模式:SMTP模块发送
SMTP服务器:smtp.126.com
SMTP端口:任意写一个,我写的是25
发信人地址:写邮箱地址,如zyku@126.com
发信人呢称:随便写一个
是否需要登录验证:点“是”
邮箱登录用户名:邮箱用户名,如zyku(不包含@126.com)
邮箱登录密码:
配置完毕后再设置下管理员邮箱(在系统设置那里),保存。
第二步,修改源文件,有两种办法
(一)、e/class/ShopSysFun.php搜索代码 printerror($mess,$location,1);
在上一行加入如下代码:
-
- $email=array('zyku@xxxx.cn');
- $subject='邮件标题';
- $content='邮件内容';
- @include(ECMS_PATH.'e/class/SendEmail.inc.php');
- EcmsToSendMail($email,$subject,$content);
复制代码
修改完之后即可.这种方法发送的邮件只能起到提醒作用,不包含订单的相关内容,标题和内容都是固定的
(二)这种方法可以包含订单的部分内容,步骤如下:
1:新增给管理员发邮件的函数
找到eclassSendEmail.inc.php,结尾下加入以下代码
-
- //给管理员信箱发送通知邮件新增函数
- function SendNoticeToAdmin($subject,$body){
- global $empire,$dbtbpre;
- $empire=new mysqlquery();
- $pr=$empire->fetch1("select email from {$dbtbpre}enewspublic limit 1");
- if(is_array($body)){
- foreach($body as $value){
- $key=key($body);
- next($body);
- $msgtext .= "$key:".$value."n";
- }
- }else{
- $msgtext=$body;
- }
- $msgtext .= "rnrn此邮件由系统自动发出,请管理员尽快处理nr";
- $sm=EcmsToSendMail($pr['email'],$subject,$msgtext);
- return $sm;
- }
复制代码
2:修改eenewsindex.php,在大约184行
AddDd($_POST);
在这一行前面加上
-
- @include("../class/SendEmail.inc.php");
- SendNoticeToAdmin("有新订单!订单号".$_POST[ddno],$_POST);
复制代码
|