"插入打開數(shù)據(jù)庫連接文件 <!--#include file="conn.asp"--> <html> <head> <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312"> <title>發(fā)送文章到郵箱</title> </head> <body> <% "定義相關(guān)變量 dim email dim founderr dim con dim rs,sql fouunderr=false dim errmsg email=trim(Request.Form("email")) "利用事先定義的IsValidEmail函數(shù)判斷email書寫是否有誤 if IsValidEmail(email)=false then errmsg=errmsg+"<li>您的email有錯誤!</li>" founderr=true end if %> <div align=center> <table border="0" cellspacing="0" width="85%" cellpadding="0" height="17" class="tableclass"> <tr> <td width="100%" > <% if founderr=false then dim objCDOMail "通過從list.asp返回的ID值確定需要打開記錄集article的內(nèi)容 set rs=server.createobject("adodb.recordset") sql="select * from article where articleid="&request("id") rs.open sql,conn,1,1 "利用CDONTS.NewMail發(fā)送郵件 Set objCDOMail = Server.CreateObject("CDONTS.NewMail") "這里的FROM為發(fā)信人的地址,TO為收信人的地址,在這里為從list.asp文件返回的email objCDOMail.From ="wodeail@etang.com" objCDOMail.To =email "取出數(shù)據(jù)庫中指定記錄集中的文章標(biāo)題字段title做郵件的主題 objCDOMail.Subject =rs("title") "取出數(shù)據(jù)庫中指定記錄集中的文章內(nèi)容字段content做郵件的內(nèi)容部分,在這里可以用"&&"插入自己的內(nèi)容 objCDOMail.Body ="文章標(biāo)題:"&rs("title")&chr(13)&chr(10)&"正文:"&rs("content")&chr(13)&chr(10)&"歡迎繼續(xù)使用ASP動網(wǎng)先鋒論壇http://aasp.yeah.net"&chr(13)&chr(10)&"Email:wodeail@etang.com" objCDOMail.Send "關(guān)閉連接 Set objCDOMail = Nothing rs.close set rs=nothing %> <p><br></p> <div align="center"> <p><font size="3">文章發(fā)送成功,請再繼續(xù)閱讀本站其他文章;有什么問題請在論壇提出!</font></p> <p><font size="3">感謝您一如既往地對<b><font color="#FF0000">ASP動網(wǎng)先鋒(http://aasp.yeah.net)</font></b>的支持,這里的建設(shè)離不開您的意見和建議! </font></p> </div> <% response.write "</td></tr></table>" "假如發(fā)送過程出錯,顯示出錯信息 else%> <p>  <font color="#FF0000"><br> Sorry, 您的信息不能正確發(fā)送,請再仔細檢查以下的項目是否正確:</font> <ul> <font color="#FF0000"><%response.write errmsg%> </font> </ul></td> </tr> </table> </div> <dd align="center"> <div align="center"><br> </div> </form> <% end if %>
</body> </html> <% "判斷EMAIL地址是否正確 function IsValidEmail(email) dim names, name, i, c IsValidEmail = true names = Split(email, "@") if UBound(names) <> 1 then IsValidEmail = false exit function end if for each name in names if Len(name) <= 0 then IsValidEmail = false exit function end if for i = 1 to Len(name) c = Lcase(Mid(name, i, 1)) if InStr("abcdefghijklmnopqrstuvwxyz_-.", c) <= 0 and not IsNumeric(c) then IsValidEmail = false exit function end if next if Left(name, 1) = "." or Right(name, 1) = "." then IsValidEmail = false exit function end if next if InStr(names(1), ".") <= 0 then IsValidEmail = false exit function end if i = Len(names(1)) - InStrRev(names(1), ".") if i <> 2 and i <> 3 then IsValidEmail = false exit function end if if InStr(email, "..") > 0 then IsValidEmail = false end if
end function %> 通過郵件的發(fā)送和檢查程序,我們就可以輕易的把需要的文章發(fā)送到自己的郵箱,并且這個程序你也可以修改成郵件的在線發(fā)送程序,或者也可以做成論壇的帖子轉(zhuǎn)送程序,當(dāng)然在ASP中發(fā)送EMAIL的方法并不是就一種,有很多的第三方組件可以更好的實現(xiàn)這一功能,比如jmail。下一節(jié)我將為大家介紹本管理系統(tǒng)的主頁面,也就是顯示所有文章的標(biāo)題和連接。