网页特效代码_站长素材站移动版

DeDecms教程

主页 > CMS教程 > DeDecms教程 >

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

一、实现方法

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

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

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

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

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

function doCommentEmail($fid=0, $aid=0, $msg='', $doType='reply'){  
global $dsql, $cfg_adminemail, $cfg_sendmail_bysmtp, $cfg_smtp_server, $cfg_smtp_port, $cfg_smtp_usermail, $cfg_smtp_password, $cfg_webname, $cfg_basehost;    
$arcRow = GetOneArchive($aid);  
$headers = "From: ".$cfg_adminemail." Reply-To: ".$cfg_adminemail;  
if($doType == 'reply'){  
$query = "SELECT f.*,m.uname,m.email FROM dede_feedback f LEFT JOIN dede_member m on f.mid = m.mid WHERE f.id = '{$fid}' AND mid > 0";  
$row = $dsql->GetOne($query);  
if(!is_array($row)) return '';  
$email = $row['email'];  
$mailtitle = "您在『{$cfg_webname}』的评论已被回复";  
$mailbody = "{$row['uname']},您好: 您在{$cfg_webname}的评论已被人回复!<pre>{$msg}</pre><br/><a href='{$arcRow['arcurl']}'>点击这里查看详情</a>";  
}else{  
$email = $cfg_adminemail;  
$mailtitle = "您的网站『{$cfg_webname}』有新的评论";  
$mailbody = "网站管理员,您好:<br/> 您的网站《{$cfg_webname}》有新的评论!<pre>{$msg}</pre><br/><a href='{$cfg_basehost}'>点击这里查看详情</a>";  
}  
if($email == '') return '';  
if($cfg_sendmail_bysmtp == 'Y' && !emptyempty($cfg_smtp_server))  
{  
$mailtype = 'HTML';  
require_once(DEDEINC.'/mail.class.php');  
$smtp = new smtp($cfg_smtp_server,$cfg_smtp_port,true,$cfg_smtp_usermail,$cfg_smtp_password);        $smtp->debug = false;  
$smtp->sendmail($email,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);  
}  
else 
{  
@mail($email, $mailtitle, $mailbody, $headers);  
}}  

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

二、注意事项

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

(责任编辑:admin)

    468x60