直播中
作者:沙灘小子
這是本程序的主要特色功能之一。在ASP中,可以通過利用NT中的SMTP來實(shí)現(xiàn)郵件的在線發(fā)送,不過你必須確認(rèn)你的系統(tǒng)里面安裝了WINDOWS NT OPTON PACK 的SMTP SERVICE,在本文章管理系統(tǒng)中就是通過其來實(shí)現(xiàn)文章的在線發(fā)送的,只不過同時(shí)必須調(diào)用數(shù)據(jù)庫(kù)中的內(nèi)容并把它發(fā)送到郵箱中。
下面就為大家介紹其具體實(shí)現(xiàn)的過程,以下是郵件發(fā)送程序(sendemail.asp)的具體代碼和注解:
"插入打開數(shù)據(jù)庫(kù)連接文件
<!--#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有錯(cuò)誤!</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ù)庫(kù)中指定記錄集中的文章標(biāo)題字段title做郵件的主題
objCDOMail.Subject =rs("title")
"取出數(shù)據(jù)庫(kù)中指定記錄集中的文章內(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動(dòng)網(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ā)送成功,請(qǐng)?jiān)倮^續(xù)閱讀本站其他文章;有什么問題請(qǐng)?jiān)谡搲岢觯?lt;/font></p>
<p><font size="3">感謝您一如既往地對(duì)<b><font color="#FF0000">ASP動(dòng)網(wǎng)先鋒(http://aasp.yeah.net)</font></b>的支持,這里的建設(shè)離不開您的意見和建議!
</font></p>
</div>
<%
response.write "</td></tr></table>"
"假如發(fā)送過程出錯(cuò),顯示出錯(cuò)信息
else%>
<p> <font color="#FF0000"><br>
Sorry, 您的信息不能正確發(fā)送,請(qǐng)?jiān)僮屑?xì)檢查以下的項(xiàng)目是否正確:</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ā)送到自己的郵箱,并且這個(gè)程序你也可以修改成郵件的在線發(fā)送程序,或者也可以做成論壇的帖子轉(zhuǎn)送程序,當(dāng)然在ASP中發(fā)送EMAIL的方法并不是就一種,有很多的第三方組件可以更好的實(shí)現(xiàn)這一功能,比如JMAIL。下一節(jié)我將為大家介紹本管理系統(tǒng)的主頁(yè)面,也就是顯示所有文章的標(biāo)題和連接。
轉(zhuǎn)載請(qǐng)注明出處http://asky.on.net.cn