1、首先配置好帝国cms后台的邮件功能,不会的看下面SMTP配置教程。我的站长站用的465端口测试成功,25端口没测试。
帝国CMS发送邮件SMTP配置方法
教程前言前几天,我的站长站的注册邮件通知功能突然失效了,又重新研究了一遍帝国CMS发送邮件SMTP配置方法,这次写一次笔记以免以后又要重新研究,浪费时间。我的站长站...
2、然后我们还需要去系统设置里面填写一个接收邮件的邮箱,调用的系统设置的管理员邮箱字段内容。
3、新增给管理员发邮件的函数,找到e\class\SendEmail.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 .= "\r\n\r\n此邮件由系统自动发出,请管理员尽快处理\n\r"; $sm=EcmsToSendMail($pr['email'],$subject,$msgtext); return $sm; }
新订单
修改e\enews\index.php,在大约184行
AddDd($_POST);
在这一行前面加上
@include("../class/SendEmail.inc.php"); SendNoticeToAdmin("有新订单!订单号".$_POST[ddno],$_POST);
新投稿
修改e\class\qinfofun.php,在大约850行
printerror("AddQinfoSuccess",$reurl,1);
在这一行前面加上
@include('SendEmail.inc.php'); SendNoticeToAdmin("收到来自".$add['title']."的投稿",$add);
新反馈
修改e\class\q_functions.php,在大约468行
$reurl=DoingReturnUrl("../tool/feedback/?bid=$bid",$add['ecmsfrom']);
在这一行前面加上:
@include("SendEmail.inc.php"); SendNoticeToAdmin("收到来自".$add['title']."的信息反馈",$add);
新留言
修改e\enews\index.php,在大约215行
AddGbook($_POST);
在这一行前面加上:
@include("../class/SendEmail.inc.php"); SendNoticeToAdmin("收到新留言",$_POST);
新注册
修改e\enews\index.php,在大约74行
register($username,$password,$repassword,$email);
在这一行前面加上
@include('../class/SendEmail.inc.php'); SendNoticeToAdmin("新会员注册,用户名:".$username,$_POST);
新用户欢迎信
(1)在e\class下新增一条文件,命名user_template_register.txt,内容如下(仅供参考,可自行修改)
欢迎[!--USERNAME--]注册本网站。
(2)修改e\class\qmemberfun.php,在大约188行
printerror('ActUserSuccess',$public_r['newsurl'],1);
在这一行前面加上
@include('SendEmail.inc.php'); $msgtext=file_get_contents("user_template_register.txt"); $msgtext=str_replace('[!--USERNAME--]',$r[username],$msgtext); EcmsToSendMail($r[username],"欢迎注册",$msgtext);