留言评论邮件通知博主For pjblog2.6|2.7
作者:小戒 日期:2007-12-11
如题,看到某些朋友需要,花了会儿功夫弄了出来。
作者:戒聊。
发布网址:http://www.muzili.com
请注意修改步骤。特别是第4.1,4.2和第8步。
如有疑问,请到http://www.muzili.com/article.asp?id=7832留言。
1。打开COMMON下的FUNCTION.ASP,在最后一个之前插入下列代码2。打开blogcomm.asp,找到由于之前我做了某些修改,也提供过修改方法,可能部分朋友已经修改过,所以这里用到了一个之前用的已经定义了的变量。请先搜索下是否有SQLcomm,log_commcomm,如有就OK,如没有,先插入一行dim SQLcomm,log_commcomm,谢谢yangjun.cn指正。
在之上插入如下代码:3。打开plugins\guestbook\bookaction.asp,找到如下代码在下面插入如下代码:4。打开common\cache.asp,找到在上面插入以下代码:并将其上一行的末尾的之前插入英文逗号。
找到在其上插入如下代码:找到在其上插入以下代码:说明:上一步修改中涉及到的blog_Infos(*,0)中间的*,请从此上一行的blog_Infos(*,0)中的*+1开始序列,依次加1。比如原blog_version="上一行的blog_Infos(*,0)中的*为1,那么刚才这一步中的*依次为2,3,4,5,6
4.1找到在其前加入注释掉。
4.2找到在每一行之前加入注释掉。
5。打开ConContent.asp,找到:在下面插入:找到:在其上插入:6。下载附件,解压,上传update.asp到博客所在目录执行升级数据库。
7。后台更新缓存。
8。还原4.1和4.2步。即取消注释。(这一步必须在这里才能打开,否则网站会打不开。)
9。请确定后台的基本设置中的BLOG 地址是否为http://***.*/,即前面的http://和尾部的/,否则邮件中的地址不能打开。这里我没做判断。
10。在后台的基本设置中选择你的服务器所支持的邮件发送组件,如选择JMAIL,请填写SMTP相关信息。
11。更新缓存。
点击下载此文件
作者:戒聊。
发布网址:http://www.muzili.com
请注意修改步骤。特别是第4.1,4.2和第8步。
如有疑问,请到http://www.muzili.com/article.asp?id=7832留言。
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&"》已有客人发表了评论"
msg.Body = "["&username&"]在您的博客中发表了评论,请点击查"&siteurl&"default.asp?id="&post_logID&"#comm_"&email_commid&"。评论内容如下:"&post_Message&""
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&"》已有客人发表了评论"
objMail.Body = "["&username&"]在您的博客中发表了评论,请点击查看"&siteurl&"default.asp?id="&post_logID&"#comm_"&email_commid&"。评论内容如下:"&post_Message&""
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&"》已有客人发表了评论"
msg.Body = "["&username&"]在您的博客中发表了评论,请点击查"&siteurl&"default.asp?id="&post_logID&"#comm_"&email_commid&"。评论内容如下:"&post_Message&""
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&"》已有客人发表了评论"
objMail.Body = "["&username&"]在您的博客中发表了评论,请点击查看"&siteurl&"default.asp?id="&post_logID&"#comm_"&email_commid&"。评论内容如下:"&post_Message&""
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
复制内容到剪贴板
程序代码
程序代码Conn.ExeCute("update blog_Content set log_CommNums=log_CommNums+1 where log_ID="&post_logID)
在之上插入如下代码:
复制内容到剪贴板
程序代码
程序代码 dim email_commid
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
call sendmail(username,post_logID,email_commid,email_log_title,1,post_Message)
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
call sendmail(username,post_logID,email_commid,email_log_title,1,post_Message)
复制内容到剪贴板
程序代码
程序代码Response.Cookies(CookieName)("bookLastPost")=DateToStr(now(),"Y-m-d H:I:S")
复制内容到剪贴板
程序代码
程序代码 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
call sendmail(username,"",email_bookid,"",0,post_Message)
dim email_bookid
Set log_commcomm=conn.execute(SQLcomm)
email_bookid=log_commcomm("book_ID")
log_commcomm.Close
Set log_commcomm=Nothing
call sendmail(username,"",email_bookid,"",0,post_Message)
复制内容到剪贴板
程序代码
程序代码" from blog_Info"
复制内容到剪贴板
程序代码
程序代码 "blog_smtp,blog_smtpuser,blog_smtppassword,blog_jmail,blog_smtpmail" & _
复制内容到剪贴板
程序代码
程序代码" &_"
找到
复制内容到剪贴板
程序代码
程序代码'=========================日志基本信息缓存=======================
Sub getInfo(ByVal action)
Sub getInfo(ByVal action)
复制内容到剪贴板
程序代码
程序代码dim blog_smtp,blog_smtpuser,blog_smtppassword,blog_jmail,IsObj,msg,objMail,VerObj,TestObj,blog_smtpmail
复制内容到剪贴板
程序代码
程序代码blog_version="
复制内容到剪贴板
程序代码
程序代码 blog_smtp=trim(blog_Infos(*,0))'SMTP地址
blog_smtpuser=trim(blog_Infos(*,0))'SMTP用户名
blog_smtppassword=trim(blog_Infos(*,0))'SMTP密码
blog_jmail=trim(blog_Infos(*,0))'发送邮件组件
blog_smtpmail=trim(blog_Infos(*,0))'发送邮箱
blog_smtpuser=trim(blog_Infos(*,0))'SMTP用户名
blog_smtppassword=trim(blog_Infos(*,0))'SMTP密码
blog_jmail=trim(blog_Infos(*,0))'发送邮件组件
blog_smtpmail=trim(blog_Infos(*,0))'发送邮箱
4.1找到
复制内容到剪贴板
程序代码
程序代码IF Not IsArray(Application(CookieName&"_blog_Infos")) or action=2 Then
复制内容到剪贴板
程序代码
程序代码'
4.2找到
复制内容到剪贴板
程序代码
程序代码 Else
blog_Infos=Application(CookieName&"_blog_Infos")
End IF
blog_Infos=Application(CookieName&"_blog_Infos")
End IF
复制内容到剪贴板
程序代码
程序代码'
5。打开ConContent.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 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>
<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>
复制内容到剪贴板
程序代码
程序代码Response.Cookies(CookieNameSetting)("ViewType")=""
复制内容到剪贴板
程序代码
程序代码 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"))
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"))
7。后台更新缓存。
8。还原4.1和4.2步。即取消注释。(这一步必须在这里才能打开,否则网站会打不开。)
9。请确定后台的基本设置中的BLOG 地址是否为http://***.*/,即前面的http://和尾部的/,否则邮件中的地址不能打开。这里我没做判断。
10。在后台的基本设置中选择你的服务器所支持的邮件发送组件,如选择JMAIL,请填写SMTP相关信息。
11。更新缓存。
点击下载此文件[本日志由 小戒 于 2008-09-18 08:48 PM 编辑]
上一篇: 评论留言加上邮箱和网址
下一篇: 给日志评论增加回复功能for pjblog (4/5凌晨更新,修改越权提交的BUG,危险)
文章来自: 本站原创
Tags: 留言 评论 PJBLOG
相关日志:
评论: 5 | 引用: 0 | 查看次数: -
blogcomm.asp代码段:
("&post_logID&",'"&post_Message&"','"&username&"',"&post_DisSM&","&post_DisUBB&","&post_disImg&","&post_DisURL&",'"&getIP()&"',"&post_DisKEY&")")
Set JMail = Server.CreateObject("JMail.Message")
JMail.silent = true
。。。。。。。。。
JMail.Send("mail.loveshot.cn")
JMail.close
set JMail= nothing
Conn.ExeCute("update blog_Content set log_CommNums=log_CommNums+1 where log_ID="&post_logID)
Conn.ExeCute("update blog_Info set blog_CommNums=blog_CommNums+1")
小戒 于 回复
("&post_logID&",'"&post_Message&"','"&username&"',"&post_DisSM&","&post_DisUBB&","&post_disImg&","&post_DisURL&",'"&getIP()&"',"&post_DisKEY&")")
Set JMail = Server.CreateObject("JMail.Message")
JMail.silent = true
。。。。。。。。。
JMail.Send("mail.loveshot.cn")
JMail.close
set JMail= nothing
Conn.ExeCute("update blog_Content set log_CommNums=log_CommNums+1 where log_ID="&post_logID)
Conn.ExeCute("update blog_Info set blog_CommNums=blog_CommNums+1")
看似没错。应该是缺少了相关变量的定义。请按照提供方法修改。
我把以下代码作为一个单独的asp文件就可以发出去,可是把它整合到blogcomm.asp就出现showmsg.asp中的空白提示框,即未出现评论发表成功等信息,查了下邮箱也未收到信,不知为什么?特来问下:
sendmail.asp
<% Set JMail = Server.CreateObject("JMail.Message")
JMail.silent = true
JMail.Logging = true
JMail.Charset = "gb2312"
JMail.MailServerUserName = "suny@loveshot.cn"
JMail.MailServerPassword = "######"
JMail.From = "suny@loveshot.cn"
JMail.FromName ="suny"
JMail.AddRecipient "zi.m.xie@gmail.com","loveshot"
JMail.Subject = "您发表的文章已有客人发表了评论"
JMail.Body = "hehe"
JMail.Send("mail.loveshot.cn")
JMail.close
set JMail= nothing
%>
sendmail.asp
<% Set JMail = Server.CreateObject("JMail.Message")
JMail.silent = true
JMail.Logging = true
JMail.Charset = "gb2312"
JMail.MailServerUserName = "suny@loveshot.cn"
JMail.MailServerPassword = "######"
JMail.From = "suny@loveshot.cn"
JMail.FromName ="suny"
JMail.AddRecipient "zi.m.xie@gmail.com","loveshot"
JMail.Subject = "您发表的文章已有客人发表了评论"
JMail.Body = "hehe"
JMail.Send("mail.loveshot.cn")
JMail.close
set JMail= nothing
%>
留言时的错误提示:
复制内容到剪贴板代码:
错误类型:
Microsoft VBScript runtime (0x800A01F4)
Variable is undefined: 'SQLcomm'
/Plugins/Guestbook/bookaction.asp, 第 159 行
浏览器类型:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MAXTHON 2.0)
网页:
POST 148 ??? /Plugins/Guestbook/bookaction.asp
POST Data:
ChangeTime=20&username=xuting&validate=%E5%89%8D&book_face=face5&Message=+%E5%8E%85%E5%9C%A8&action=post&submit=%E5%8F%91%E8%A1%A8%E7%95%99%E8%A8%80
时间:
12 December 2007, 05:18:46
好像都是说SQLcomm未定义,请LZ帮忙解决一下,谢谢
小戒 于 回复
复制内容到剪贴板代码:
错误类型:
Microsoft VBScript runtime (0x800A01F4)
Variable is undefined: 'SQLcomm'
/Plugins/Guestbook/bookaction.asp, 第 159 行
浏览器类型:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MAXTHON 2.0)
网页:
POST 148 ??? /Plugins/Guestbook/bookaction.asp
POST Data:
ChangeTime=20&username=xuting&validate=%E5%89%8D&book_face=face5&Message=+%E5%8E%85%E5%9C%A8&action=post&submit=%E5%8F%91%E8%A1%A8%E7%95%99%E8%A8%80
时间:
12 December 2007, 05:18:46
好像都是说SQLcomm未定义,请LZ帮忙解决一下,谢谢
2。打开blogcomm.asp,找到复制内容到剪贴板代码:
Conn.ExeCute("update blog_Content set log_CommNums=log_CommNums+1 where log_ID="&post_logID)由于之前我做了某些修改,也提供过修改方法,可能部分朋友已经修改过,所以这里用到了一个之前用的已经定义了的变量。请先搜索下是否有SQLcomm,log_commcomm,如有就OK,如没有,先插入一行dim SQLcomm,log_commcomm,谢谢yangjun.cn指正。
Conn.ExeCute("update blog_Content set log_CommNums=log_CommNums+1 where log_ID="&post_logID)由于之前我做了某些修改,也提供过修改方法,可能部分朋友已经修改过,所以这里用到了一个之前用的已经定义了的变量。请先搜索下是否有SQLcomm,log_commcomm,如有就OK,如没有,先插入一行dim SQLcomm,log_commcomm,谢谢yangjun.cn指正。
修改完以后,发表评论时的错误提示:
复制内容到剪贴板代码:
错误类型:
Microsoft VBScript runtime (0x800A01F4)
Variable is undefined: 'SQLcomm'
/blogcomm.asp, 第 229 行
浏览器类型:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MAXTHON 2.0)
网页:
POST 153 ??? /blogcomm.asp
POST Data:
username=xuting&Message=%E5%93%88%E5%93%88%E3%80%82%E3%80%82%E3%80%82%E3%80%82%E3%80%82&logID=34&action=post&submit2=%E5%8F%91%E8%A1%A8%E8%AF%84%E8%AE%BA
复制内容到剪贴板代码:
错误类型:
Microsoft VBScript runtime (0x800A01F4)
Variable is undefined: 'SQLcomm'
/blogcomm.asp, 第 229 行
浏览器类型:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MAXTHON 2.0)
网页:
POST 153 ??? /blogcomm.asp
POST Data:
username=xuting&Message=%E5%93%88%E5%93%88%E3%80%82%E3%80%82%E3%80%82%E3%80%82%E3%80%82&logID=34&action=post&submit2=%E5%8F%91%E8%A1%A8%E8%AF%84%E8%AE%BA
发表评论


回复


最后一步
不过还是谢谢版版帮我改了一个文件
cache这个文件我是改了不知道多少次了
仍然都错
麻烦你了