天天看點

使用ASP.NET開發郵件發送系統

使用 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" οnclick="Button1_Click" runat="server"

Text=" 發送 ">

            </asp:Button>

        </p>

    </form>

</body>

</html>

五、 總結

以前, Microsoft 公司沒有推出 ASP.NET 時,我們用 ASP 做一個郵件發送系統感覺很複雜,是一件很難辦的事情,現在 可好了, Microsoft 公司最近已推出 .NET Framework SDK Beta2 版本,利用 System.Web.Mail 名稱空間強大的類庫,使我們完成這項工作變得簡單起來。

作者Blog: http://blog.csdn.net/tigerwen01/

繼續閱讀