留言评论邮件通知博主(增加后台开关)For pj3
作者:小戒 日期:2008-09-08

如题,原来的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
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
'评论邮件通知结束
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
'留言邮件通知结束
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" & _
"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)'是否邮件通知
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
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>
<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
'评论留言邮件通知结束
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 | 查看次数: -
回复
|
|
]不错哦 学习
上海注册公司网:www.tianshanghang.com
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正好冲突了 =。= 请问如何解决
请问这个50是不是数据库的50列? 但好像也不是 因为我数到50列的时候 也没这列
主要是因为这个跟网站首页的关键字跟介绍冲突了
keywords跟 description
cache.asp里面
blog_KeyWords = blog_Infos(45, 0)'站点首页KeyWords
blog_Description = blog_Infos(46, 0)'站点首页Description
45跟46正好冲突了 =。= 请问如何解决
test02
test
戒聊,你的博客升到最终版了吗?这个功能还能用?我的怎么仔细改都不行。你是不是更新了,如果更新了不要小气,发出来呀!
小戒 于 回复
没有噢,我的还是157版本。
博主你好,我想问一下,如果当前的文章不是博主自己发的,比如给几个好友开了发表文章的权限。能不能实现向文章作者进行邮件通知的功能呢?
代码要在什么地方进行修改,还望不吝赐教,感谢!
小戒 于 回复
代码要在什么地方进行修改,还望不吝赐教,感谢!
可以的,但目前这个还达不到这个功能。
搞定,谢谢戒聊大哥。
还想请教你一个问题,
就是博主回复后,系统将发送通知邮件到您的邮箱
发给访客的这个功能怎么弄的?
小戒 于 回复
还想请教你一个问题,
就是博主回复后,系统将发送通知邮件到您的邮箱
发给访客的这个功能怎么弄的?
http://www.leoyung.com/article/7975.htm
发表评论



