主页 > 网站建设 > 建站知识 > 织梦dedecms实现系统评论邮件通知的方法

织梦dedecms实现系统评论邮件通知的方法

POST TIME:2020-04-01 18:58

一、实现方法

第一步:打开默认ajax评论文件 /plus/feedback_ajax.php ,找到如下代码:


  1. $_SESSION['sedtime']=time();

在下面一行加入如下代码:


  1. $doType=emptyempty($fid)?'feedback':'reply';
  2. doCommentEmail($fid,$aid,$msg,$doType);

第二步:打开 /include/extend.func.php 文件,在最后一行或者?>之前加入如下代码:


  1. functiondoCommentEmail($fid=0,$aid=0,$msg='',$doType='reply'){
  2. global$dsql,$cfg_adminemail,$cfg_sendmail_bysmtp,$cfg_smtp_server,$cfg_smtp_port,$cfg_smtp_usermail,$cfg_smtp_password,$cfg_webname,$cfg_basehost;
  3. $arcRow=GetOneArchive($aid);
  4. $headers="From:".$cfg_adminemail." Reply-To:".$cfg_adminemail;
  5. if($doType=='reply'){
  6. $query="SELECTf.*,m.uname,m.emailFROMdede_feedbackfLEFTJOINdede_membermonf.mid=m.midWHEREf.id='{$fid}'ANDmid>0";
  7. $row=$dsql->GetOne($query);
  8. if(!is_array($row))return'';
  9. $email=$row['email'];
  10. $mailtitle="您在『{$cfg_webname}』的评论已被回复";
  11. $mailbody="{$row['uname']},您好: 您在{$cfg_webname}的评论已被人回复!<pre>{$msg}</pre><br/><ahref='{$arcRow['arcurl']}'>点击这里查看详情</a>";
  12. }else{
  13. $email=$cfg_adminemail;
  14. $mailtitle="您的网站『{$cfg_webname}』有新的评论";
  15. $mailbody="网站管理员,您好:<br/> 您的网站《{$cfg_webname}》有新的评论!<pre>{$msg}</pre><br/><ahref='{$cfg_basehost}'>点击这里查看详情</a>";
  16. }
  17. if($email=='')return'';
  18. if($cfg_sendmail_bysmtp=='Y'&&!emptyempty($cfg_smtp_server))
  19. {
  20. $mailtype='HTML';
  21. require_once(DEDEINC.'/mail.class.php');
  22. $smtp=newsmtp($cfg_smtp_server,$cfg_smtp_port,true,$cfg_smtp_usermail,$cfg_smtp_password);$smtp->debug=false;
  23. $smtp->sendmail($email,$cfg_webname,$cfg_smtp_usermail,$mailtitle,$mailbody,$mailtype);
  24. }
  25. else
  26. {
  27. @mail($email,$mailtitle,$mailbody,$headers);
  28. }}

第三步:配置后台邮件发送信息,进入网站后台,切换到『系统』选项卡,点击「系统基本参数」的“核心设置”,将里面的“网站发信EMAIL”、“是否启用smtp方式发送邮件”、“smtp服务器”、“smtp服务器端口”、“SMTP服务器的用户邮箱”、“SMTP服务器的用户帐号”和“SMTP服务器的用户密码”配置好即可。

二、注意事项

1.您的服务器必须支持邮件发送; 2.您必须配置好系统设置里的邮件发送账户信息; 3.理论上本教程支持DedeV5.3及以上所有版本。



收缩
  • 微信客服
  • 微信二维码
  • 电话咨询

  • 400-1100-266