一、实现方法
第一步:打开默认ajax评论文件 /plus/feedback_ajax.php ,找到如下代码:
-
$_SESSION['sedtime']=time();
在下面一行加入如下代码:
-
$doType=emptyempty($fid)?'feedback':'reply';
-
doCommentEmail($fid,$aid,$msg,$doType);
第二步:打开 /include/extend.func.php 文件,在最后一行或者?>之前加入如下代码:
-
functiondoCommentEmail($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="SELECTf.*,m.uname,m.emailFROMdede_feedbackfLEFTJOINdede_membermonf.mid=m.midWHEREf.id='{$fid}'ANDmid>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/><ahref='{$arcRow['arcurl']}'>点击这里查看详情</a>";
-
}else{
-
$email=$cfg_adminemail;
-
$mailtitle="您的网站『{$cfg_webname}』有新的评论";
-
$mailbody="网站管理员,您好:<br/> 您的网站《{$cfg_webname}》有新的评论!<pre>{$msg}</pre><br/><ahref='{$cfg_basehost}'>点击这里查看详情</a>";
-
}
-
if($email=='')return'';
-
if($cfg_sendmail_bysmtp=='Y'&&!emptyempty($cfg_smtp_server))
-
{
-
$mailtype='HTML';
-
require_once(DEDEINC.'/mail.class.php');
-
$smtp=newsmtp($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及以上所有版本。