留言评论邮件通知博主(增加后台开关)For pj3


如题,原来的FOR pjblog2.6和2.7在pjblog3上已经不能使用,并在原来的基础上增加后台开关功能,即是否打开评论留言发送邮件通知功能。
作者:戒聊。
发布网址:www.leoyung.com
请注意修改步骤。
如有疑问,请到http://www.leoyung.com/article/7964.htm留言。
1。打开COMMON下的FUNCTION.ASP,在最后一个
复制内容到剪贴板程序代码程序代码
%>

之前插入下列代码
复制内容到剪贴板程序代码程序代码
Function sendmail(username,post_logID,email_commid,email_log_title,comm,post_Message)  '邮件发送
    if trim(blog_jmail)="1" then
            Set msg = Server.CreateObject("JMail.Message")
            msg.silent = true
            msg.Logging = true
            msg.Charset = "gb2312"
            msg.MailServerUserName = blog_smtpuser
            msg.MailServerPassword = blog_smtppassword  
            msg.From = blog_smtpmail
            msg.FromName = sitename
            msg.AddRecipient blog_email,sitename
            If comm=1 Then
                msg.Subject = "您发表的文章《"&email_log_title&"》已有客人发表了评论"
                if blog_postFile = 2 then
                    msg.Body = "["&username&"]在您的博客中发表了评论,请点击查"&siteurl&"article/"&post_logID&".htm#comm_"&email_commid&"。评论内容如下:"&post_Message&""
                else
                    msg.Body = "["&username&"]在您的博客中发表了评论,请点击查"&siteurl&"default.asp?id="&post_logID&"#comm_"&email_commid&"。评论内容如下:"&post_Message&""
                end if
            Else
                msg.Subject = "您的博客已有客人留言"
                msg.Body = "["&username&"]在您的博客中发表了留言,请点击查看"&siteurl&"LoadMod.asp?plugins=GuestBookForPJBlog#book_"&email_commid&"。留言内容如下:"&post_Message&""
            End if
            msg.Send(blog_smtp)
            msg.close
            set msg = nothing
    Else
            Set objMail = Server.CreateObject("CDONTS.NewMail")
            objMail.To = blog_email
            objMail.From =blog_smtpmail
            If comm=1 Then
                objMail.Subject = "您发表的文章《"&email_log_title&"》已有客人发表了评论"
                if blog_postFile = 2 then
                    objMail.Body = "["&username&"]在您的博客中发表了评论,请点击查看"&siteurl&"article/"&post_logID&".htm#comm_"&email_commid&"。评论内容如下:"&post_Message&""
                else
                    objMail.Body = "["&username&"]在您的博客中发表了评论,请点击查看"&siteurl&"default.asp?id="&post_logID&"#comm_"&email_commid&"。评论内容如下:"&post_Message&""
                end if
            Else
                objMail.Subject = "您的博客已有客人留言"
                objMail.Body = "["&username&"]在您的博客中发表了留言,请点击查看"&siteurl&"LoadMod.asp?plugins=GuestBookForPJBlog#book_"&email_commid&"。留言内容如下:"&post_Message&""
            End if
            objMail.Send
            Set objMail = Nothing
    End If
End Function

'检查组件是否被支持及组件版本的子程序
sub ObjTest(strObj)
  on error resume next
  IsObj=false
  VerObj=""
  set TestObj=server.CreateObject (strObj)
  If -2147221005 <> Err then
    IsObj = True
    VerObj = TestObj.version
    if VerObj="" or isnull(VerObj) then VerObj=TestObj.about
  end if
  set TestObj=nothing
End sub


2。打开blogcomm.asp,找到
复制内容到剪贴板程序代码程序代码
Conn.ExeCute("update blog_Content set log_CommNums=log_CommNums+1 where log_ID="&post_logID)

在之上插入如下代码:
复制内容到剪贴板程序代码程序代码
    '评论邮件通知
    Dim email_commid, SQLcomm, log_commcomm
    SQLcomm="Select TOP 1 * FROM blog_Comment Where comm_Author='"&username&"' order By comm_ID Desc "
    Set log_commcomm=conn.execute(SQLcomm)
        email_commid=log_commcomm("comm_ID")
    log_commcomm.Close
    Set log_commcomm=Nothing
    dim email_log_title
    SQLcomm="Select * FROM blog_Content Where log_ID="&post_logID&""
    Set log_commcomm=conn.execute(SQLcomm)
        email_log_title=log_commcomm("log_Title")
    log_commcomm.Close
    Set log_commcomm=Nothing
    If blog_Isjmail Then
        call sendmail(username,post_logID,email_commid,email_log_title,1,post_Message)
    End If
    '评论邮件通知结束


3。打开plugins\guestbook\bookaction.asp,找到如下代码
复制内容到剪贴板程序代码程序代码
Response.Cookies(CookieName)("bookLastPost")=DateToStr(now(),"Y-m-d H:I:S")

在下面插入如下代码:
复制内容到剪贴板程序代码程序代码
    '留言邮件通知
    Dim SQLcomm, log_commcomm
    SQLcomm="Select TOP 1 * FROM blog_book Where book_Messager='"&username&"' order By book_ID Desc "
    dim email_bookid
    Set log_commcomm=conn.execute(SQLcomm)
        email_bookid=log_commcomm("book_ID")
    log_commcomm.Close
    Set log_commcomm=Nothing
    If blog_Isjmail Then
        call sendmail(username,"",email_bookid,"",0,post_Message)
    End If
    '留言邮件通知结束


4。打开common\cache.asp,找到
复制内容到剪贴板程序代码程序代码
              "blog_wapNum,blog_wapImg,blog_wapHTML,blog_wapLogin,blog_wapComment,blog_wap,blog_wapURL" & _

替换成:
复制内容到剪贴板程序代码程序代码
              "blog_wapNum,blog_wapImg,blog_wapHTML,blog_wapLogin,blog_wapComment,blog_wap,blog_wapURL," & _
                "blog_smtp,blog_smtpuser,blog_smtppassword,blog_jmail,blog_smtpmail,blog_Isjmail" & _


找到:
复制内容到剪贴板程序代码程序代码
Dim memoryCache

在下面插入:
复制内容到剪贴板程序代码程序代码
Dim blog_smtp, blog_smtpuser, blog_smtppassword, blog_jmail, IsObj, msg, objMail, VerObj, TestObj, blog_smtpmail, blog_Isjmail


找到:
复制内容到剪贴板程序代码程序代码
        blog_wapURL = CBool(blog_Infos(44, 0))'使用 wap 转换文章超链接


在下面插入:
复制内容到剪贴板程序代码程序代码
        blog_smtp=trim(blog_Infos(45,0))'SMTP地址
        blog_smtpuser=trim(blog_Infos(46,0))'SMTP用户名
        blog_smtppassword=trim(blog_Infos(47,0))'SMTP密码
        blog_jmail=trim(blog_Infos(48,0))'发送邮件组件
        blog_smtpmail=trim(blog_Infos(49,0))'发送邮箱
        blog_Isjmail=blog_Infos(50,0)'是否邮件通知


4。1
找到:
复制内容到剪贴板程序代码程序代码
    If Not IsArray(Application(CookieName&"_blog_Infos")) or action = 2 Then

替换成:
复制内容到剪贴板程序代码程序代码
    'If Not IsArray(Application(CookieName&"_blog_Infos")) or action = 2 Then


找到:
复制内容到剪贴板程序代码程序代码
    Else
        blog_Infos = Application(CookieName&"_blog_Infos")
    End If

替换成:
复制内容到剪贴板程序代码程序代码

'   Else
'       blog_Infos = Application(CookieName&"_blog_Infos")
'   End If


5。打开control\c_general.asp,找到:
复制内容到剪贴板程序代码程序代码
                <tr>
                  <td width="180"><div align="right"> 站长邮件地址 </div></td>
                  <td align="left"><input name="blog_email" type="text" size="50" class="text" value="<%=blog_email%>"/></td>
                </tr>

在下面插入:
复制内容到剪贴板程序代码程序代码

                <tr>
                  <td><div align="right">是否评论留言邮件通知</div></td>
                  <td align="left"><input name="blog_Isjmail" type="checkbox" value="1" <%if blog_Isjmail then response.write ("checked=""checked""")%>/></td>
                </tr>
        <tr>
          <td width="180"><div align="right"> 邮件发送组件 </div></td>
          <td align="left"><select name="blog_jmail">
          <option value="1" <%if trim(blog_jmail)="1" then response.write "selected"%>>
          <%
            ObjTest("JMail.SmtpMail")
            If IsObj then
                response.write "支持JMail.SmtpMail"
            Else
                response.write "不支持JMail.SmtpMail"
            End If
          %>
          </option>
          <option value="0" <%if trim(blog_jmail)="0" then response.write "selected"%>>
          <%
            ObjTest("CDONTS.NewMail")
            If IsObj then
                response.write "支持CDONTS.NewMail"
            Else
                response.write "不支持CDONTS.NewMail"
            End If
          %>
          </option>
          </select>请选择您的服务器所支持的邮件发送组件</td>
        </tr>
        <tr>
          <td width="180"><div align="right"> SMTP服务器 </div></td>
          <td align="left"><input name="blog_smtp" type="text" size="50" class="text" value="<%=blog_smtp%>"/></td>
        </tr>
        <tr>
          <td width="180"><div align="right">发件信箱 </div></td>
          <td align="left"><input name="blog_smtpmail" type="text" size="50" class="text" value="<%=blog_smtpmail%>"/></td>
        </tr>
        <tr>
          <td width="180"><div align="right"> SMTP用户名 </div></td>
          <td align="left"><input name="blog_smtpuser" type="text" size="50" class="text" value="<%=blog_smtpuser%>"/></td>
        </tr>
        <tr>
          <td width="180"><div align="right"> SMTP密码 </div></td>
          <td align="left"><input name="blog_smtppassword" type="password" size="50" class="text" value="<%=blog_smtppassword%>"/></td>
        </tr>


6。打开control\Action.asp,找到:
复制内容到剪贴板程序代码程序代码
            weblog("blog_email") = checkURL(CheckStr(Request.Form("blog_email")))

在下面插入:
复制内容到剪贴板程序代码程序代码
    '评论留言邮件通知
            weblog("blog_smtp")=trim(Request.form("blog_smtp"))
            weblog("blog_smtpuser")=trim(Request.form("blog_smtpuser"))
            weblog("blog_smtppassword")=trim(Request.form("blog_smtppassword"))
            weblog("blog_jmail")=trim(Request.form("blog_jmail"))
            weblog("blog_smtpmail")=trim(Request.form("blog_smtpmail"))
            If Int(Request.Form("blog_Isjmail")) = 1 Then
                weblog("blog_Isjmail")=1
            Else
                weblog("blog_Isjmail")=0
            End If
    '评论留言邮件通知结束


6。下载附件,解压,上传update.asp到博客所在目录执行升级数据库。
7。后台更新缓存。
8。还原4.1步。即取消注释。(这一步必须在这里才能打开,否则网站会打不开。)
9。请确定后台的基本设置中的BLOG 地址是否为http://***.*/,即前面的http://和尾部的/,否则邮件中的地址不能打开。这里我没做判断。
10。在后台的基本设置中选择你的服务器所支持的邮件发送组件,如选择JMAIL,请填写SMTP相关信息。
11。更新缓存。
下载文件 点击下载此文件

[本日志由 小戒 于 2008-10-10 10:53 AM 编辑]
收藏到QQ书签 文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: 留言 评论 PJBLOG
评论: 7 | 引用: 0 | 查看次数: -
回复回复roufo [2008-12-12 03:46 PM | del]
做的第七步的时候,后台根本就进不去了,没办法更新缓存啊
引用来自 小戒 小戒 于 [2008-12-12 08:09 PM] 回复
6。下载附件,解压,上传update.asp到博客所在目录执行升级数据库。
7。后台更新缓存。
8。还原4.1步。即取消注释。(这一步必须在这里才能打开,否则网站会打不开。)


第六步数据库更新了没?
回复回复Candy [2008-12-07 03:21 AM | del]
老大、我按照妳提供步骤来做好了、后台也设置了、可以评论留言时都没看到效果、
我是这样写、帮我看是否有错误呢?
站长邮件地址   l25125@qq.com
评论留言通知  是否评论留言邮件通知  
邮件发送组件   支持JMail.SmtpMail
SMTP 服务器  smtp.qq.com
电子邮件地址  l25125@qq.com  
SMTP 帐号   l25125  
SMTP 密码   ***********  
BLOG 地址   http://www.mxsf.net/blog/  
回复回复zsyl.net [2008-10-01 12:58 AM | del]
貌似要组件支持?
引用来自 小戒 小戒 于 [2008-10-01 01:17 PM] 回复
是的,一般都用JMAIL
回复回复我爱潍坊 [2008-09-29 12:53 AM | del]
试了好几次都不行,废了………………网站出现500错误打不开了
引用来自 小戒 小戒 于 [2008-09-29 01:00 PM] 回复
升级数据库没?是否按照步骤来做的?
回复回复Mr.W [2008-09-26 04:41 PM | del]
后台全局开关不人性
建议在评论留言处添加开关
这样就很好咯~~
(配合139邮箱的有新右键免费手机短信提示基本是个很完美的东东)
回复回复anson [2008-09-09 01:25 AM | del]
引用来自 WWW.XIYYX.CN 引用来自 WWW.XIYYX.CN
我头都搞晕了~还是没搞出来!

我不懂你的4.1步是怎么做的!

是不是要分2次完成
先做1、2、3、4、5、6、7
然后第八步 又回到从 4.1、5、6、7、8、9、10、11
吗?
我试了2次 都没有成功,在后台见到了邮件功能,但是 旁边是错误乱码。
麻烦发邮件告诉我一下,我错在那里了!
邮箱:xuanr@vip.qq.com

全过程只做一次修改
只是到第7步更新缓存以后,把4.1修改的部分改回改前的状态
即可

我是传说中的戒聊~~
回复回复WWW.XIYYX.CN [2008-09-09 00:20 AM | del]
我头都搞晕了~还是没搞出来!

我不懂你的4.1步是怎么做的!

是不是要分2次完成
先做1、2、3、4、5、6、7
然后第八步 又回到从 4.1、5、6、7、8、9、10、11
吗?
我试了2次 都没有成功,在后台见到了邮件功能,但是 旁边是错误乱码。
麻烦发邮件告诉我一下,我错在那里了!
邮箱:xuanr@vip.qq.com
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 博主回复后,系统将发送通知邮件到您的邮箱,可不填.
网 址:
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.