如果你曾经使用过ASP来发送邮件,你大概会使用CDONTS,但是在.NET里,发送邮件的功能已经封装进

.NET Framework的System.Web.Mail的命名空间里了,使用这个命名空间下类,就可以很容易的构建一个发送邮件的程序,所需要仅仅是在windows中架构好SMTP服务器。

    System.Web.Mail命名空间:

    这个命名控件下包含了以下的对象和三个属性:

      包含的对象:

         MailAttachment:与邮件附件有关的对象类

         MailMessage   :邮件主体

         SmtpMail      :负责发送邮件的SMTP协议。

      属性列表:

         MailEncoding  :邮件的编码(Base64,UUEncode) 

         MailFormat    :邮件的格式(Html超文本格式,Text纯文本格式)

         MailPriority  :邮件优先级(High, Medium, Low)

    构建MailMessage对象:

    MailMessage对象是邮件的承载主体,通常可以先构建好MailMessage对象,然后设置它的属性的方式来

构建邮件程序,下面列出了的是一些常用的属性:

         Attachments      :邮件附件

         Bcc              :暗送地址

         Body             :邮件主体

         BodyFormat       :邮件格式(html,text)

         Cc               :抄送地址

         From             :发信人地址

         Priority         :邮件优先级(High, Medium,Low)

         Subject          :邮件主题

         To               :接收人地址

         UrlContentBase   :在HTML格式邮件中的URL编码方式

         UrlContentLocation:邮件信息的优先级(High, Medium,Low)

    使用SMTPMail发送邮件

    构建好MailMessage对象之后,还需要使用另外一个对象-SMTPMail-来发送邮件,SMTPMAIL有一个很

重要的方法:Send,该方法有两个不同用法,其中一个可以仅仅发送整个的MailMessage对象:

        SmtpMail.Send(myEmailObject);

    另外一个允许你分别指定发送者,收邮件地址,邮件主题,邮件主题,然后再发送出去:

        SmtpMail.Send(strFrom, strTo, strSubject, strBody);

   

    例子程序:

    现在,让我们来看看一个完整的例子,在这个例子中,我先创建一个MailMessage对象,然后设置部分属性,最后使用SmtpMail对象把它发送出去:

<%@ Page Language="C#" %>

<script language="C#" runat="server">

void Page_Load()

{

    // CREATE A MAIL MESSAGE

    System.Web.Mail.MailMessage myEmail = new System.Web.Mail.MailMessage();

    // SET MESSAGE PARAMETERS

    myEmail.From = "agent@mypersonalshoppers.com";

    myEmail.To = "john@johnsmith.com";

    myEmail.Subject = "Product Availability Notice";

    myEmail.BodyFormat = System.Web.Mail.MailFormat.Html;

    myEmail.Body = "The sunglasses you expressed interest in are now in stock.";

    //SEND THE MESSAGE

    System.Web.Mail.SmtpMail.Send(myEmail);

    //UPDATE STATUS

    lblMailStatus.Text = "Mail successfully sent.";

}

</script>

<html>

<body>

<asp:Label id="lblMailStatus" runat="server" />

</body>

</html>

<%@ Page Language="VB" %>

<script language="VB" runat="server">

Sub Page_Load()

    'CREATE A MAIL MESSAGE

    Dim myEmail as System.Web.Mail.MailMessage = new System.Web.Mail.MailMessage()

    'SET MESSAGE PARAMETERS

    myEmail.From = "agent@mypersonalshoppers.com"

    myEmail.To = "john@johnsmith.com"

    myEmail.Subject = "Product Availability Notice"

    myEmail.BodyFormat = System.Web.Mail.MailFormat.Html

    myEmail.Body = "The sunglasses you expressed interest in are now in stock."

    'SEND THE MESSAGE

    System.Web.Mail.SmtpMail.Send(myEmail)

    'UPDATE STATUS

    lblMailStatus.Text = "Mail successfully sent."

End Sub

</script>

<html>

<body>

    <asp:Label id="lblMailStatus" runat="server" />

</body>

</html