今天,将我博客的留言本功能关闭了,而使用一个邮件发送表单来替代,用户留言将直接发送到我的个人信箱中。
之所以关闭这个“留言本”,其中一个原因是该页面在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>