用ASP.NET做的個人化的郵件發送系統

來源:互聯網
上載者:User

一.運行環境

  雖然Microsoft公司推出Visual Studio .NET已經有一段時間了,但.NET Framework SDK卻依然還是BETA版,分別是BETA 1和BETA 2。這二個版本之間也有很大的差異,譬如說,很多名稱空間(NameSpace)的名字都不一樣。我們這裡選擇的是BETA 2。作業系統是Windows 2000 professional版。

  二.基本知識

  首先介紹一下做郵件發送系統中用到的一些知識。

  (一).先來簡要的認識一下在程式中要用到的協議——簡易郵件傳輸通訊協定(Simple Mail Transfer Protocol)——SMTP, SMTP伺服器,是用來發送郵件和中轉郵件。寫到這也要提一下他的姐妹兄弟郵局通訊協定第 3 版(PostOffice Protocol 3)——POP3。POP3伺服器是用來內送郵件的,我們帳戶上的郵件就是儲存在此類的伺服器上。由於我們在本文中只是介紹發送郵件,所以涉及的只是SMTP。

  (二).接著我們來瞭解一下我們在程式中用到的名稱空間(NameSpace)——System.Web.Mail(註:.NET Framework SDK Beta 1版中叫System.Web.Util)。在這個大的類庫裡面提供了關於郵件發送的豐富的對象、屬性、方法,就是他使的發送郵件變成了一件很輕鬆、愉快的事情。接下來就簡要介紹一下各個對象、屬性和方法的具體用法:

  (1).對象

  在System.Web.Mail名稱空間裡面 用來發送郵件的對象主要有三個,分別是SmtpMail、MailMessage、MailAttachment。其中SmtpMail是設定SMTP伺服器,由他來選定用什麼伺服器來發送郵件。MailMessage是三個對象中內容最豐富的,大量的屬性包裝成我們現在的郵件構成要件,MailAttachment對象則對應著郵件中的附件。

  (2).屬性

  在System.Web.Mail名稱空間裡面是MailMessage對象的屬性最為豐富,也最為重要,下表就是他最主要的屬性,這些屬性都和我們的發送郵件直接相關:

屬性名稱 代表意義
From 源地址
To 目的地址
Subject 郵件主題
Priority 郵件優先順序(High, Low, Normal )
Attachments 附件
Bcc 暗送地址
Cc 抄送地址
Body 郵件內容主體
Bodyformat 郵件格式(Html,Text)
Bodyencoding 郵件編碼(Base64, UUencode)

  (3).方法

  在System.Web.Mail名稱空間裡面最重要的方法就是SmtpMail對象的Send方法,程式中就是通過調用他來發送郵件的。他的調用有二種方式:

  i>.直接調用

  對於SmtpMail對象的Send方法只要有四個參數就可以完成調用,就是說,只要有四個正確的參數就能夠寄送電子郵件了。具體調用格式如下:

   SmtpMail.send(“郵件源地址”,”郵件目標地址”,”郵件主題”,”郵件內容”)

  但是這種調用過於簡單,只能滿足簡單郵件的發送,對於複雜的郵件,就要用第二中方法來調用:

  ii>.把MailMessage對象作為參數來調用,具體調用如下:

   SmtpMail.send(MailMessage)

  由於MailMessage對象屬性多,所以這種調用可以使郵件內容更加豐富,一般採用這種方式來發送郵件。在下面的例子裡面就是用這種調用方式。

  三.設計思路及步驟:

  首先要說明的是在此ASP.NET 程式裡面我們用的程式語言是Visual Basic .NET。

  第一步:要包括名稱空間System.Web.Mail,加入在程式中使用的程式語言類型:

  第二步:初始化SmtpMail、MailMessage對象:

Dim mailObj AS new MailMessage

Dim smtp AS new SmtpMail

‘定義SMTP伺服器的名稱

Smtp.smtpserver="smtp.yeah.net"

‘定義郵件的發送地址

mailObj.From = “zhangchulan@yesky.com”

‘定義郵件的接收地址

mailObj.To =” majinhu@yesky.com”

‘定義郵件的暗送地址

mailObj.Bcc=”majinhu@163.net”

‘定義郵件的抄送地址

mailObj.Cc=”majinhu@yesky.com”

‘定義郵件的主題

mailObj.Subject = "我的郵件系統,歡迎使用!"

‘定義郵件的主體

mailObj.Body = "這裡是郵件的主體!"

‘郵件以 HTML的格式發送

mailObj.BodyFormat = MailFormat.Html

‘定義郵件的有限級,在此設定為高

mailObj.Priority = MailPriority.High

‘給發送的郵件附加上一個附件

mailObj.Attachments.Add(new MailAttachment("c:test.doc"))

  第三步:發送郵件

Smtp.Send(mailObj)
四.程式原始碼

[tr=#ebe9eb][td]<SCRIPT language=VB RUNAT="server"> <br>
<br>
Sub SendMail (Obj As Object, E As EventArgs) <br>
<br>
Dim mailObj AS new MailMessage <br>
<br>
Dim smtp AS new SmtpMail <br>
<br>
'定義SMTP伺服器的名稱 <br>
<br>
Smtp.smtpserver="smtp.yesky.com" <br>
<br>
'定義郵件的發送地址 <br>
<br>
mailObj.From = "zhangchunlan@yesky.com" <br>
<br>
'定義郵件的接收地址 <br>
<br>
mailObj.To ="majinhu@yesky.com" <br>
<br>
'定義郵件的暗送地址 <br>
<br>
mailObj.Bcc="majinhu@163.net" <br>
<br>
'定義郵件的抄送地址 <br>
<br>
mailObj.Cc="majinhu@yesky.com" <br>
<br>
'定義郵件的主題 <br>
<br>
mailObj.Subject = "我的郵件系統,歡迎使用!" <br>
<br>
'定義郵件的主體 <br>
<br>
mailObj.Body = "這裡是郵件的主體!" <br>
<br>
'郵件以HTML的格式發送 <br>
<br>
mailObj.BodyFormat = MailFormat.Html <br>
<br>
'定義郵件的有限級 <br>
<br>
mailObj.Priority = MailPriority.High <br>
<br>
'給發送的郵件附加上一個附件,請確定在C盤的根目錄下有test.doc檔案 <br>
<br>
mailObj.Attachments.Add(new MailAttachment("c:test.doc"))
<br>
<br>
Smtp.Send(mailObj) <br>
<br>
End Sub <br>
<br>
</SCRIPT>
[/td][/tr]

相關文章

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.