当前位置:首页 > CMS教程 > 帝国cms > 列表

帝国CMS商城系统在线支付后,订单邮件提醒

发布:smiling 来源: PHP粉丝网  添加日期:2014-03-27 10:53:15 浏览: 评论:0 

帝国CMS是个强大的内容管理系统,其商城的功能也很强大,当用户下单,支付后我们怎么知道有用户下单了呢?因为我们不能时时刻刻都在网站后台,不断的刷新页面去看有无订单,最常用的做法是用邮件提醒我们,有人下单了.

怎么做到这个功能呢?

第一步:配置帝国后台系统设置-系统参数设置-FTP/EMAIL 这里配置EMAIL

一般用126邮箱,我的配置如下:

邮件发送模式:SMTP模块发送

SMTP服务器:smtp.126.com

SMTP端口:任意写一个,我写的是25

发信人地址:写邮箱地址,如jitaxiong@sina.cn

发信人呢称:随便写一个

是否需要登录验证:点“是”

邮箱登录用户名:邮箱用户名,如webmaster(不包含@126.com)

邮箱登录密码:

配置完毕后再设置下管理员邮箱(在系统设置那里),保存。

第二步,修改源文件,有两种办法

(一)、e/class/ShopSysFun.php搜索代码 printerror($mess,$location,1);

在上一行加入如下代码:

  1. $email=array(‘jitaxing@sina.cn’);    
  2. $subject=’邮件标题’;    
  3. $content=’邮件内容’;  
  4. @include(ECMS_PATH.’e/class/SendEmail.inc.php’);    
  5. EcmsToSendMail($email,$subject,$content);  

修改完之后即可.这种方法发送的邮件只能起到提醒作用,不包含订单的相关内容,标题和内容都是固定的.

(二)这种方法可以包含订单的部分内容,步骤如下:

1:新增给管理员发邮件的函数

找到eclassSendEmail.inc.php,结尾下加入以下代码:

  1. //给管理员信箱发送通知邮件新增函数 
  2. function SendNoticeToAdmin($subject,$body){ 
  3.         global $empire,$dbtbpre
  4.         $empire=new mysqlquery(); 
  5.         $pr=$empire->fetch1(“select email from {$dbtbpre}enewspublic limit 1″); 
  6.         if(is_array($body)){ 
  7.                 foreach($body as $value){ 
  8.                         $key=key($body); 
  9.                         next($body); 
  10.                         $msgtext .= “$key:”.”$value”.”n”; 
  11.                 } 
  12.         }else
  13.                 $msgtext=$body
  14.         } 
  15.         $msgtext .= “rnrn此邮件由系统自动发出,请管理员尽快处理nr”; 
  16.         $sm=EcmsToSendMail($pr['email'],$subject,$msgtext); 
  17.         return $sm

2:修改eenewsindex.php,在大约184行

AddDd($_POST);在这一行前面加上:

  1. @include(“../class/SendEmail.inc.php”); 
  2. SendNoticeToAdmin(“有新订单!订单号”.$_POST[ddno],$_POST); 

Tags: 在线支付 订单 邮件

分享到: