0 464 2020-11-22 19:16:20
收藏帝国cms使用qq邮箱的pop3/stmp服务,任何等级的qq账号都可用。此外,下载鸥在论坛分享方法的基础上进行了调整,让邮件的格式更加规范、可读性更强。
下面,下载鸥就邮箱的配置、邮箱功能的扩展方面详细讲讲操作规范。
1、安装php的openssl的extension,并且在php.ini中开启此extension。(如图1所示)
2、开通qq邮箱的POP3/SMTP服务,并且获取重要的“授权码”。此授权码是作为密码登录邮箱的。(如图2所示)
3、按下图填写帝国cms的SMTP模块设置,其中SMTP的端口请填写"465"。“邮箱登陆密码”请填入第二步的“授权码”。(如图3所示)
4、修改/e/class/class.smtp.php,在大约第62行(帝国cms7.2版本)的$host前添加"ssl://",请不要忽略"ssl://".$host之前的点号。(如图4所示)
5、测试邮箱是否生效
在e文件夹下新建一个send_mail.php文件,输入以下代码(记得修改下面中邮件接收者的E-mail):(如图5所示)
<?php
require('class/connect.php');
require('class/db_sql.php');
$link=db_connect();
$empire=new mysqlquery();
echo"sendstart<br/>";
include('class/SendEmail.inc.php');
$mail_test="xxx@qq.com";//邮件接收者的E-mail
$sm=EcmsToSendMail($mail_test,"邮件测试","testtesttesttesttest");//邮件接收者的E-mail,邮件标题,邮件正文
echo $mail_test."sendover<br/>";
db_close();
$empire=null;
?>
6、在浏览器中输入"[网站地址]/e/send_mail.php"测试。(本地localhost也可用)
7、测试完成后删除/e/send_mail.php文件。
以上是我们测试邮箱的可用性。在确定邮箱可用后,我们可以结合邮箱开发出一系列的功能。
找到/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);
switch ($key){
case "name":$key="姓名";break;
case "email":$key="邮箱";break;
case "mycall":$key="联系电话";break;
case "company":$key="公司名称";break;
case "lytext":$key="留言内容";break;
}
$msgtext .= "$key:"."$value"."\n";
}
}else{
$msgtext=$body;
}
$msgtext .= "\r\n\r\n此邮件由系统自动发出,请管理员尽快处理..\n\r";
$sm=EcmsToSendMail($pr['email'],$subject,$msgtext);
return $sm;
}
1.有新订单时
修改/e/enews/index.php,在大约184行
AddDd($_POST);
在这一行前面加上
@include("../class/SendEmail.inc.php");
SendNoticeToAdmin("有新订单!订单号".$_POST[ddno],$_POST);
完活,这只是起到一个提醒功能,所以邮件界面什么的就不用考虑了,管理员收到邮件后去帝国后台处理就是了。
2.有新的投稿时
修改/e/class/qinfofun.php,在大约850行
printerror("AddQinfoSuccess",$reurl,1);
在这一行前面加上
@include('SendEmail.inc.php');
SendNoticeToAdmin("收到来自".$add['title']."的投稿",$add);
3.有新的信息反馈时
修改e class q_functions.php,在大约468行
$reurl=DoingReturnUrl("../tool/feedback/?bid=$bid",$add['ecmsfrom']);
在这一行前面加上:
@include("SendEmail.inc.php");
SendNoticeToAdmin("收到来自".$add['title']."的信息反馈",$add);
4.有新留言时
修改/e/enews/index.php,在大约215行
AddGbook($_POST);
在这一行前面加上:
@include("../class/SendEmail.inc.php");
SendNoticeToAdmin("收到新留言",$_POST);
5.有会员在网站上注册(如果是注册需要审核,收到这封邮件管理员可以及时去后台审核)
修改/e/enews/index.php,在大约74行
register($username,$password,$repassword,$email);
在这一行前面加上
@include('../class/SendEmail.inc.php');
SendNoticeToAdmin("新会员注册,用户名:".$username,$_POST);
6.网站后台启用注册需要邮箱验证,验证通过后会员会收到一封欢迎信
由于这个邮件是给会员看的,所以内容格式排版上就要讲究一下了
(1)在eclass下新增一条文件,命名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);
此久,还有一些场景也需要用到邮件,比如
1)网站没有启用邮箱验证,但是会员注册后需要管理员手工审核,审核通过后会员会收到一封欢迎信
2)商城系统,会员下单后会实时收到邮件通知,订单通过审核后,也会再给客户一封邮件。
网上有朋友说,如果将函数加到/e/enews/index.php,会导致验证码失效。因此分享了另一种方案,如下
新留言提醒
打开 /e/enews/gbookfun.php
搜索:printerror("AddGbookSuccess",$reurl,1);
在上面增加
include("../class/SendEmail.inc.php");
SendNoticeToAdmin("收到新留言",$_POST);
新反馈提醒
打开 /e/class/q_functions.php
搜索:printerror("AddFeedbackSuccess",$reurl,1);
在前面加
include("SendEmail.inc.php");
SendNotceToAdmin("收到新的网站订单 - 提交人:".$add['name'],$_POST);
本方案是结合了帝国cms论坛的方法与网上其他网友的分享并最终优化而来。
本文地址:https://xzo.com.cn/develop/empire/99.html
如果您认可我们的分享,有意与我们合作开展帝国cms网站建设与开发业务或插件定制,请联系右侧在线客服。我们能给您的,就是高质量的模板与售后。
标注了信息来源为下载鸥的文章皆为原创,如果是转载的优质文章,我们也都标注了出处。如果您喜欢我们的文章,请按照下载鸥所标注的文章出处进行标注,谢谢您的配合。
帝国cms是一款功能极为强大的cms程序,性能强悍、安全性高,可轻松支持10万数据,高级开发人员可制作出能容纳千万数据量的网站,是国内最出色的开源cms程序之一,推荐企业用户使用。
当前最新版本为7.5,8.0版本即将上线,新版本的核心优化点在于多终端的适配。
最近发现想要用帝国CMS开发博客的客户越来越多,但帝国cms本身更多的是支持企...
猜你喜欢小功能如果直接用rand()调用随机ID是非常消耗性能的。小网站几百几...
在线留言是我们常用的功能,通过开发一个简单的留言板,我们可以有效与潜在用户...
如果对被攻击一无所知,也没有听说过CC、DDoS的概念,那被攻击以后,只能懵逼等到...
我们知道,帝国cms终极栏目可以用<?=$class_r[$GLOBALS[navclassid]][bname]?...
许多帝国cms开发的小说站点、文字资料站点要考虑目标用户的不同而设置不同...
想要在帝国cms后台禁止发布标题相同的信息,或是在发布信息时验证一下标题是...
宝塔面板是一款非常好用的服务器管理软件,但在安装完宝塔后,有些人可能会忘记...
帝国cms 对接纳米数据(www.nami.com)接口,本接口主要接收、整理足球比赛实时数...
帝国CMS自带的搜索功能虽然强大,但也有很强的局限性 -- 必须关键词完全匹配...
帝国cms有自带的给关键词添加内链功能,但需要手动添加关键词,容易出现疏漏和...
通过本插件,可以实现帝国cms网站对接百度云api实现图像去雾的功能。经过实际...
通过本插件,可以实现帝国cms网站对接百度云api实现图像无损放大的功能。经过...
百度开放了系列AI功能api如图像上色、图像去雾、图像修复、无损放大、清晰...
因客户需要一键推送到多平台,下载鸥开发了这款一键推送至百度、必应、神马插...
本插件基于帝国cms帝国cms每日自动审核插件,在自动审核指定条数信息的基础上...