ASP進階之文章線上管理更新(7)

來源:互聯網
上載者:User
這是本程式的主要特色功能之一。在ASP中,可以通過利用NT中的SMTP來實現郵件的線上發送,不過你必須確認你的系統裡面安裝了WINDOWS NT OPTON PACK 的SMTP SERVICE,在本文章管理系統中就是通過其來實現文章的線上發送的,只不過同時必須調用資料庫中的內容並把它發送到郵箱中。

   下面就為大家介紹其具體實現的過程,以下是郵件發送程式(sendemail.asp)的具體代碼和註解:

   "插入開啟資料庫連接檔案
<!--#include file="conn.asp"-->
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<title>發送文章到郵箱</title>
</head>
<body>
<%
   "定義相關變數
dim email
dim founderr
dim con
dim rs,sql
fouunderr=false
dim errmsg
email=trim(Request.Form("email"))
   "利用事先定義的IsValidEmail函數判斷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的內容
set rs=server.createobject("adodb.recordset")
sql="select * from article where articleid="&request("id")
rs.open sql,conn,1,1
   "利用CDONTS.NewMail發送郵件
Set objCDOMail = Server.CreateObject("CDONTS.NewMail")
   "這裡的FROM為發信人的地址,TO為收信人的地址,在這裡為從list.asp檔案返回的email
objCDOMail.From ="wodeail@etang.com"    
objCDOMail.To =email
   "取出資料庫中指定記錄集中的文章標題欄位title做郵件的主題   
objCDOMail.Subject =rs("title")  
   "取出資料庫中指定記錄集中的文章內容欄位content做郵件的內容部分,在這裡可以用"&&"插入自己的內容
objCDOMail.Body ="文章標題:"&rs("title")&chr(13)&chr(10)&"本文:"&rs("content")&chr(13)&chr(10)&"歡迎繼續使用ASP動網先鋒論壇http://aasp.yeah.net"&chr(13)&chr(10)&"Email:wodeail@etang.com"    
objCDOMail.Send
   "關閉串連
Set objCDOMail = Nothing
rs.close
set rs=nothing
%>
<p><br></p>
        <div align="center">
          <p><font size="3">文章發送成功,請再繼續閱讀本站其他文章;有什麼問題請在論壇提出!</font></p>
          <p><font size="3">感謝您一如既往地對<b><font color="#FF0000">ASP動網先鋒(http://aasp.yeah.net)</font></b>的支援,這裡的建設離不開您的意見和建議!
            </font></p>
        </div>
<%
response.write "</td></tr></table>"
   "假如發送過程出錯,顯示出錯資訊
else%>
        <p>  <font color="#FF0000"><br>
          Sorry, 您的資訊不能正確發送,請再仔細檢查以下的項目是否正確:</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
%>
    通過郵件的發送和檢查程式,我們就可以輕易的把需要的文章發送到自己的郵箱,並且這個程式你也可以修改成郵件的線上發送程式,或者也可以做成論壇的文章轉送程式,當然在ASP中發送EMAIL的方法並不是就一種,有很多的第三方組件可以更好的實現這一功能,比如JMAIL。下一節我將為大家介紹本管理系統的首頁面,也就是顯示所有文章的標題和串連。


相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。