2009年7月27日星期一

关闭博客留言本功能

  今天,将我博客的留言本功能关闭了,而使用一个邮件发送表单来替代,用户留言将直接发送到我的个人信箱中。

  之所以关闭这个“留言本”,其中一个原因是该页面在Google搜索“留言本”的页面排名太靠前,结果大量垃圾留言通过程序自动在该页面发布,黑帽SEO搜索“留言”和“留言本”的目的,就是为了找到页面来发垃圾链接,所以我的留言本就终日收到这些人的连番轰炸。

  关闭“留言本”更直接的原因是,前几天有人在留言本发了多条销售非法物品的广告,而这些“有害信息”留言差点让我的服务器被拔了网线,可见这些发送垃圾链接的家伙实在是害人啊。

  因此我有必要将这个留言本功能进行一定的改造,通过邮件的方式发送,而不直接在留言页面显示。

  将留言发送到Gmail还有一个好处,就是可以进行分类和过滤,我将接受留言的地址设置一个标签,然后用过滤器直接存档,对于垃圾留言,Gmail还能自动对垃圾邮件进行过滤。

  以下是该发送邮件功能的ASP代码。

<%
if request.form("email")<>""  then
 if instr(request.form("email"),"@")>0 then
  mail "email@gmail.com" , request.form("subject") , request.form("body")
  response.write "邮件发送成功!我们将尽快处理!"
  response.end
 else
  response.write "邮件地址“" & request.form("email") & "”错误,发送失败!"
  response.end
 end if
 response.end
end if
sub mail (mailto , mailsub , mailbody)
 dim jmail
 set jmail = server.createobject("jmail.message")
 jmail.silent = true
 jmail.logging = true
 jmail.charset = "utf-8" 
    tmprecipient=mailto
    do 
        if instr(tmprecipient,";") <> 0 then
            tmprecipient1 = left(tmprecipient,instr(tmprecipient,";")-1)
            tmprecipient=right(tmprecipient,len(tmprecipient)-instr(tmprecipient,";"))
            jmail.addrecipient tmprecipient1
        end if   
    loop while instr(tmprecipient,";") <> 0
    jmail.addrecipient tmprecipient 
 jmail.fromname = request.form("sender")
 jmail.from = request.form("email")
 jmail.replyto = request.form ("email")
 jmail.subject = mailsub
 jmail.htmlbody = mailbody
 jmail.priority = 1
 jmail.send("127.0.0.1")
 jmail.close()
end sub
%>
<html>
<head>
<meta content="text/html; charset=gb2312" http-equiv="content-type">
<title>留言本-月光博客</title>
</head>
<body class="single">
<form name="frmmail" method="post" action="<%= request.servervariables("url")%>" onsubmit="return checkvalue()">
<table border=0 cellspacing=2 height=150 width=600>
  <tbody>
  <tr>
    <td align=middle height=24 width=80>
      <div align=center>姓 名:</div></td>
    <td height=2 width=519><input type="text" size="60" name="sender"> </td></tr>
  <tr>
    <td align=middle height=24 width=80>
      <div align=center>邮 件:</div></td>
    <td height=2 width=519><input type="text" size="60" name="email"> </td></tr>
  <tr>
    <td align=middle height=24 width=80>
      <div align=center>主 题:</div></td>
    <td height=2 width=519><input type= "text" size= "60" name= "subject"> </td></tr>
  <tr>
    <td colspan=2><div align=center>
 <textarea cols=82 name="body" rows=12 wrap=physical title="可以使用ctrl+enter直接发送邮件" onkeydown="javascript:if(event.ctrlkey && window.event.keycode==13){this.document.frmmail.submit();}"></textarea> 
    </div></td></tr>
  <tr valign=bottom>
    <td colspan=2>
 <input alt=发送 name=send type=submit value="发 送">
 <input alt=取消 name=cancel type=reset value="重 填">
</td></tr>
</tbody></table>
</form>
</body>
</html>