代理加盟

2023全新代理计划,一站式模板建站,铜牌代理低至699元送终身VIP,独立代理后台,自营贴牌。

您现在的位置: 麦站网 > 织梦大学 > 使用教程 >

DedeCMS短消息与发送到指定邮箱功能开发

来源:本站原创 发布时间:2019-03-31 13:43:48热度:我要评论(0

麦站模板建站平台(10年经验),服务数万家企业,固定透明报价。域名注册、主机/服务器、网站源码一站式服务。实体公司,专业团队,值得选择!超过1000套模板已登记版权,合规合法建站,规避版权风险!【点击获取方案】

DedeCMS自带的mail邮箱功能不仅可以使用在会员注册验证上,还能用在在自定义表单提交,站内通知提醒(短消息)等,其实这些功能都是mail功能的扩展开发。

邮箱登录界面

下面分享短消息与指定邮箱功能开发,其他需要用到地方直接参考就行了。

1.网站后台设置邮箱相关信息

后台:系统>系统基本参数>核心设置,看到以下表单,按邮箱设置,注意网站发信emall和下面的smtp服务器都要相同。

万网发送邮件到指定邮箱

dede表单提交后台设置

2.指定的邮箱设置

每个邮箱都对应的POP3/SMTP/IMAP设置,参考相关说明即可,这里需要注意的是新的163或者QQ邮箱都有独立密码或者授权码,为了安全需要,还是需要设置好授权码或独立密码,这个密码就是SMTP服务器的用户密码,不是邮箱的密码。

3.自定义表单提交后管理员后台收到短信息并发送到指定邮箱

前面写过对应的文章《最全实现dede订单表单提交发送到指定邮箱(附前台设置)》,这里不累述了。

4.会员提交文章审核,向对应的会员发送消息

①提取发表者ID,也就是会员中心的mid。打开/dede/archives_do.php,表前缀找到

$query = "SELECT arc.id,arc.typeid,ch.issystem,ch.maintable,ch.addtable FROM `dede_arctiny` arc 
               LEFT JOIN `dede_arctype` tp ON tp.id=arc.typeid 
            LEFT JOIN `dede_channeltype` ch ON ch.id=tp.channeltype 
            WHERE arc.id in($arcids) "; 

修改为

$query = "SELECT arc.id,arc.mid,arc.typeid,ch.issystem,ch.maintable,ch.addtable FROM `dede_arctiny` arc 
               LEFT JOIN `dede_arctype` tp ON tp.id=arc.typeid 
            LEFT JOIN `dede_channeltype` ch ON ch.id=tp.channeltype 
            WHERE arc.id in($arcids) "; 

②获取发布短消息时间,找到

$dsql->Execute('ckall'); 

在下面添加

$dtime = time(); 

③提取用户ID,并把所有信息写入短消息,发送一条短信息给对应的发布者,找到

 

$dsql->ExecuteNoneQuery("Update `dede_member` set scores=scores+{$cfg_sendarc_scores} where mid='".$cfg_ml->M_ID."' ; "); 

下面添加

$mid = $row['mid']; 
$dsql->ExecuteNoneQuery("INSERT INTO `dede_member_pms` (`floginid`,`fromid`,`toid`,`folder`,`subject`,`sendtime`,`writetime`,`hasview`,`isadmin`,`message`) 
VALUES ('admin','1','$mid','inbox','www.xiuzhanwang.com文档审核消息!','$dtime','$dtime','0','0','您的文章已经经过了本站的审核!')"); 

④向指定邮箱发送消息

 

在上面代码下添加下面的通用代码:

require_once(DEDEINC.'/mail.class.php');
$mailtitle = $mid . "提交了文档审核"; //邮件标题
$mailbody = "称呼:{$mid}提交了文档审核,请登录"; //邮件正文,根据实际需求调用对应的字段 
$headers = $cfg_adminemail;
$mailtype = 'TXT';
$smtp = new smtp($cfg_smtp_server,$cfg_smtp_port,true,$cfg_smtp_usermail,$cfg_smtp_password);
$smtp->debug = false;
$smtp->sendmail($cfg_smtp_usermail,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);

    转载请注明来源网址:https://www.xiuzhanwang.com/dedecms_jq/1390.html

    发表评论

    评论列表(条)

       
      QQ在线咨询
      VIP限时特惠