使用.NET发送邮件
如果你曾經(jīng)使用過ASP來發(fā)送郵件,你大概會使用CDONTS,但是在.NET里,發(fā)送郵件的功能已經(jīng)封裝進
.NET Framework的System.Web.Mail的命名空間里了,使用這個命名空間下類,就可以很容易的構(gòu)建一個發(fā)送郵件的程序,所需要僅僅是在windows中架構(gòu)好SMTP服務(wù)器。
??? System.Web.Mail命名空間:
??? 這個命名控件下包含了以下的對象和三個屬性:
????? 包含的對象:
???????? MailAttachment:與郵件附件有關(guān)的對象類
???????? MailMessage?? :郵件主體
???????? SmtpMail????? :負責(zé)發(fā)送郵件的SMTP協(xié)議。
????? 屬性列表:
???????? MailEncoding? :郵件的編碼(Base64,UUEncode)?
???????? MailFormat??? :郵件的格式(Html超文本格式,Text純文本格式)
???????? MailPriority? :郵件優(yōu)先級(High, Medium, Low)
??? 構(gòu)建MailMessage對象:
??? MailMessage對象是郵件的承載主體,通常可以先構(gòu)建好MailMessage對象,然后設(shè)置它的屬性的方式來
構(gòu)建郵件程序,下面列出了的是一些常用的屬性:
???????? Attachments????? :郵件附件
???????? Bcc????????????? :暗送地址
???????? Body???????????? :郵件主體
???????? BodyFormat?????? :郵件格式(html,text)
???????? Cc?????????????? :抄送地址
???????? From???????????? :發(fā)信人地址
???????? Priority???????? :郵件優(yōu)先級(High, Medium,Low)
???????? Subject????????? :郵件主題
???????? To?????????????? :接收人地址
???????? UrlContentBase?? :在HTML格式郵件中的URL編碼方式
???????? UrlContentLocation:郵件信息的優(yōu)先級(High, Medium,Low)
??? 使用SMTPMail發(fā)送郵件
??? 構(gòu)建好MailMessage對象之后,還需要使用另外一個對象-SMTPMail-來發(fā)送郵件,SMTPMAIL有一個很
重要的方法:Send,該方法有兩個不同用法,其中一個可以僅僅發(fā)送整個的MailMessage對象:
??????? SmtpMail.Send(myEmailObject);
??? 另外一個允許你分別指定發(fā)送者,收郵件地址,郵件主題,郵件主題,然后再發(fā)送出去:
??????? SmtpMail.Send(strFrom, strTo, strSubject, strBody);
???
??? 例子程序:
??? 現(xiàn)在,讓我們來看看一個完整的例子,在這個例子中,我先創(chuàng)建一個MailMessage對象,然后設(shè)置部分屬性,最后使用SmtpMail對象把它發(fā)送出去:
<%@ 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
總結(jié)
以上是生活随笔為你收集整理的使用.NET发送邮件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP.NET里的事务处理
- 下一篇: xml操作类(转载)