asp.net|發郵件
如今,隨著Internet的迅速發展,許多企業都紛紛架構起自己的網站,用來開展企業的電子商務活動,如發布、管理企業自己的供求資訊;發展和管理企業的會員等。除了這些以外,還有一點是十分重要的,就是向所有企業註冊會員寄送電子郵件,及時通知使用者企業的最新訊息。
Microsoft公司推出Visual Studio.NET已有一段時間了,一些以前使用ASP開發WEB應用程式的網友,現在也慢慢地有ASP轉向ASP.NET平台。為了能夠協助一些想使用ASP.NET開發郵件發送系統的網友順利完成這一功能,下面我們就一起來討論這個問題。
一、ASPX運行環境
由於Microsoft公司發行的.NET Framework SDK的Beta1和Beta2兩個版本有很大的區別,所以本文是以Beta2版本為例講解。
二、SMTP協議簡介
SMTP協議,是簡易郵件傳輸通訊協定( Simple Mail Transfer Protocol)的簡稱。一般的發信軟體,如Outlook Express、FoxMail等都是使用這個協議進行發送和中轉郵件的。
三、名稱空間(NameSpace)
介紹一下在本文的程式中要用到名稱空間(NameSpace)—System.Web.Mail(在.NET Framework SDK Beta1版本中叫做System.Web.Util)類庫裡所提供的郵件發送的對象、屬性和方法。
1、 對象(Object)
System.Web.Mail名稱空間用來發送郵件的對象有SmtpMail、MailMessage和MailAttachment等三個對象,具體作用下文有說明。
2、 屬性(Propertiy)
System.Web.Mail名稱空間的主要屬性,是MailMessage對象的屬性,下表列出了MailMessage對象屬性的名稱及其意義:
屬性名稱 代表意義
From 發信人地址(源地址)
To 接收人地址(目的地制)
Subject 郵件標題
Priority 郵件優先順序(High,Low,Normal)
Attachment 郵件附件
Bcc 暗送地址
Cc 抄送地址
Body 郵件主體
BodyFormat 郵件格式(Html格式、Text格式)
Bodyencoding 編碼(Base64,UUencode)
3、 方法(Method)
Send方法,郵件就是通過Send方法發送出去的。該方法的調用有兩種方式:
1) SmtpMail.Send(“源地址”,”目標地址”,”主題”,”內容”)
2) SmtpMail.Send(MailMessage)
註:本文就是採用第二種調用方式。
四、程式原始碼(編程指令碼語言為VB.NET)
<%@ Page Language="VB" runat="server"%>
<script runat="server">
Sub Button1_Click(sender As Object, e As EventArgs)
Dim strFrom,strTo,strBcc,strCc,title,ContText
strFrom =TextBox1.Text
strTo =TextBox2.Text
strBcc =TextBox3.Text
strCc =TextBox4.Text
title =TextBox5.Text
ContText =TextBox6.Text
Dim objMail As new MailMessage
Dim smtp As new SmtpMail
Smtp.SmtpServer="smtp.163.com" '定義伺服器的名稱
Select Case objMail
.From= strFrom
.To= strTo
.Bcc= strBcc
.Cc= strCc
.Subject= title
.Body= ContText
.BodyFormat= mailFormat.Html
.Priority= Mailpriorty.High
End Select
Smtp.Send(objMail)
End Sub
</script>
<html>
<body>
<form runat="server">
<p>
接收人:<asp:TextBox id="TextBox1" runat="server">
</asp:TextBox>
</p>
<p>
發送人:<asp:TextBox id="TextBox2" runat="server"></asp:TextBox>
</p>
<p>
暗 送:<asp:TextBox id="TextBox3" runat="server"></asp:TextBox>
</p>
<p>
抄 送:<asp:TextBox id="TextBox4" runat="server"></asp:TextBox>
</p>
<p>
主 題:<asp:TextBox id="TextBox5" runat="server"></asp:TextBox>
</p>
<p>
內 容:<asp:TextBox id="TextBox6" runat="server"></asp:TextBox>
</p>
<p>
<asp:Button id="Button1" runat="server"
Text="發送">
</asp:Button>
</p>
</form>
</body>
</html>
五、總結
以前,Microsoft公司沒有推出ASP.NET時,我們用ASP做一個郵件發送系統感覺很複雜,是一件很難辦的事情,現在可好了,Microsoft公司最近已推出.NET Framework SDK Beta2 版本,利用System.Web.Mail名稱空間強大的類庫,使我們完成這項工作變得簡單起來。