留言评论邮件通知博主(增加后台开关)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 编辑]
上一篇: 让你的PJBLOG3静态下也支持侧栏插件(8/31日更新)
下一篇: 简单修改将验证码改为加减法计算
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: 留言 评论 PJBLOG
相关日志:
评论: 23 | 引用: 0 | 查看次数: -
liuzm
回复回复liuzm[2010-01-05 10:21 AM | | | del]
不错哦 学习
注册公司
回复回复注册公司[2009-10-24 06:49 PM | | | del]
上海注册公司网:www.tianshanghang.com
注册公司
回复回复注册公司[2009-10-24 06:48 PM | | | del]
风雪残士
回复回复风雪残士[2009-06-26 06:19 PM | | | del]
blog_Isjmail=blog_Infos(50,0)'是否邮件通知
请问这个50是不是数据库的50列? 但好像也不是 因为我数到50列的时候 也没这列

主要是因为这个跟网站首页的关键字跟介绍冲突了
keywords跟 description
cache.asp里面
blog_KeyWords = blog_Infos(45, 0)'站点首页KeyWords
blog_Description = blog_Infos(46, 0)'站点首页Description
45跟46正好冲突了 =。=  请问如何解决
test
回复回复test[2009-06-04 04:25 PM | | | del]
test02
test
回复回复test[2009-06-04 04:24 PM | | | del]
test
7457
回复回复7457[2009-06-03 09:55 AM | | | del]
需要网络营销、网站优化seo吗?请联系我们,技术专业,效果好!!!
武林
回复回复武林[2009-04-30 04:53 PM | | | del]
戒聊,你的博客升到最终版了吗?这个功能还能用?我的怎么仔细改都不行。你是不是更新了,如果更新了不要小气,发出来呀!
回复来自 小戒 的评论 小戒 于 2009-04-30 11:39 PM 回复
没有噢,我的还是157版本。
浮生若梦
回复回复浮生若梦[2009-03-30 05:21 PM | | | del]
博主你好,我想问一下,如果当前的文章不是博主自己发的,比如给几个好友开了发表文章的权限。能不能实现向文章作者进行邮件通知的功能呢?


代码要在什么地方进行修改,还望不吝赐教,感谢!
回复来自 小戒 的评论 小戒 于 2009-03-30 09:33 PM 回复
可以的,但目前这个还达不到这个功能。
tcs
回复回复tcs[2009-03-26 10:24 AM | | | del]
搞定,谢谢戒聊大哥。
还想请教你一个问题,
就是博主回复后,系统将发送通知邮件到您的邮箱
发给访客的这个功能怎么弄的?
回复来自 小戒 的评论 小戒 于 2009-03-26 10:25 AM 回复
http://www.leoyung.com/article/7975.htm
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 支持Gravatar头像.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.