国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

用ASP.NET構建完整E-mail發送系統

2024-07-10 12:58:05
字體:
來源:轉載
供稿:網友
如果要你用asp來做一個e-mail發送系統,你首先想到的一定是借助第三方開發的組件,但這樣做會耗費你很多的銀子。當然你也可以用windows的自帶的對象--cdonts.newmail對象來傳送e-mail,這雖然是免費的,但卻十分依賴操作平臺,cdonts.newmail對象只存在windows 200和nt底下,在windows 95/98底下是沒有這個對象。
自從microsoft公司推出了asp.net,e-mail的發送已經成為web程序設計的基本對象。本篇文章就是來討論如何做一個功能十分完備的e_mai的發送系統。

一.開發和運行平臺
windows 2000 professional、.net framework beta 2

二.什么樣的e-mail發送系統才是一個功能十分完備系統 只有當一個郵件發送系統具備了:收件人地址、發信人地址、抄送地址、密送地址、郵件主題、郵件主體、和附件等功能時,這個郵件發送系統才是一個比較完備的系統。具備的具體功能如下圖所示:





下面就介紹實現這些功能的具體步驟。

三.具體實現步驟
首先要介紹.net framework sdk中的一個關于e-mail發送的class library(類庫)--system.web.mail。這個class library提供了e-mail發送的所有對象、屬性和方法。其中最重要的對象是mailmessage對象和smtpmail對象。mailmessage對象主要是包裝e-mail的各個結構。譬如:收件人地址、發信人地址等。smtpmail對象主要是把已經定義好的mailmessage對象發送出去。下面就一些重要的步驟具體說明一下:
1.為了定義mailmessage對象,首先要創立一個mailmessage對象。通過下面語句就可以創立一個mailmessage對象。
<% @import namespace="system.web.mail"
dim mailobj as new mailmessage() %>

2.有了一個mailmessage對象后,下面就來定義郵件的結構。我們按照上圖的郵件結構順序來逐個定義。
1>.郵件的發送地址:
mailobj.form="發送地址"
2>.郵件的目的地址:
mailobj.to="目的地址"
如果你要發送給多個人,用逗號分開每個郵件地址。
3>.郵件的抄送地址:
mailobj.cc="抄送地址"
同樣的,如果你要發送給多個人,可以在"抄送地址"上,寫上多個郵件地址,但要用逗號把他們分開。
4>.郵件的密送地址:
mailobj.bcc="密送地址"
密送地址和抄送地址類似
5>.郵件主題:
mailobj.subject="郵件主題"
6>.郵件內容:
mailobj.body="郵件內容"
7>.郵件的優先級:
mailobj.priority = mailpriority.normal '這是把郵件的優先級定義為普通,你也可以定義為高(high)、低(low)
8>.定義郵件格式:
mailobj.bodyformat = mailformat.text '這是把郵件定義為文本格式,你也可以把郵件定義為超文本格式,只有把mailformat.text改成mailformat.html即可。
9>.給郵件添加一個附件:
用過asp的人都了解,要想瀏覽一下文件是多么困難的事情。但asp.net出現以后,這一切就變的簡單起來。只用下面一行代碼,就可以選擇驅動器的任何文件。
<input id="emailfile" type="file" runat="server" size="40" />

3.發送e-mail
smtpmail.smtpserver = "" '指定使用缺省的smtp服務器
smtpmail.send(mailobj) '發送e-mail


四.程序完整的源代碼
<% @import namespace="system.web.mail" %>
<script language="vb" runat="server">
sub sendbutton_click(sender as object, e as eventargs)
'創立一個 mailmessage 對象
dim mailobj as new mailmessage()
'以下是設定mailmessage 對象的屬性,及程序的一些常規判斷。
'設定郵件的發送地址
if emailfrom.text<>"" then mailobj.from = emailfrom.text
'設定郵件的目的地址
if emailto.text<>"" then mailobj.to = emailto.text
'設定郵件的抄送地址
if emailcc.text<>"" then mailobj.cc = emailcc.text
'設定郵件的密送地址
if emailbcc.text<>"" then mailobj.bcc = emailbcc.text
'設定郵件格式是文本格式,如果要設定成超文本,把mailformat.text改成 mailformat.html
mailobj.bodyformat = mailformat.text
'設定郵件優先級,可為 high(高), low(低), normal(普通)
mailobj.priority = mailpriority.normal
'設定郵件主題
mailobj.subject = emailsubject.text
'設定郵件內容
mailobj.body = emailbody.text
'給郵件增加一個附件
dim strfilename as string
strfilename=emailfile.postedfile.filename
if strfilename<>"" then mailobj.attachments.add(new mailattachment(strfilename))
'指定使用缺省的smtp服務器
smtpmail.smtpserver = ""
'現在開始發送郵件
smtpmail.send(mailobj)
panelsendemail.visible = false
panelmailsent.visible = true
end sub
</script>
<html>
<body>
<asp:panel id="panelsendemail" runat="server">
<form method="post" enctype="multipart/form-data" runat="server">
<h2>歡迎用asp.net來發送e-mail</h2>
<b>請輸入郵件發送地址:</b>
<asp:textbox id="emailfrom" size="30" runat="server" />
<p>
<b>請輸入郵件目的地址:</b>
<asp:textbox id="emailto" size="30" runat="server" />
<p>
<b>請輸入郵件抄送地址:</b>
<asp:textbox id="emailcc" size="30" runat="server" />
<p>
<b>請輸入郵件密送地址:</b>
<asp:textbox id="emailbcc" size="30" runat="server" />
<p>
<b>請輸入郵件主題:</b>
<asp:textbox id="emailsubject" size="30" runat="server" />
<p>
<b>請輸入郵件主體:</b>
<asp:textbox id="emailbody" textmode="multiline"
columns="40" rows="10" runat="server" />
<p>
<b>請加入附件名稱:</b>
<input id="emailfile" type="file" runat="server" size="40" />
<asp:button runat="server" id="sendbutton" text="發送"
onclick="sendbutton_click" />
</form>
</asp:panel>
<asp:panel id="panelmailsent" runat="server" visible="false">
您的郵件已經成功發送,歡迎您的再次使用!
</asp:panel>
</body>
</html>



五.至此一個完整的e-mail發送系統就完成了。如果你的機器達到了本文前面提到的運行環境,那么就建立一個指向此aspx文件的虛擬目錄,連接上internet,在瀏覽器里運行此程序,就可以方便的完成e-mail的發送了。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 辽宁省| 桃江县| 阳原县| 新沂市| 阳谷县| 安庆市| 威信县| 望谟县| 安龙县| 南木林县| 陕西省| 清水县| 江山市| 太仆寺旗| 衡阳县| 宣恩县| 涡阳县| 渭南市| 鄂托克前旗| 绥阳县| 孙吴县| 贵州省| 林西县| 巨野县| 巴东县| 翼城县| 遂川县| 临洮县| 班戈县| 南陵县| 凭祥市| 新余市| 宜春市| 江北区| 建平县| 巴彦淖尔市| 科技| 福鼎市| 土默特右旗| 镇坪县| 辽中县|