使用.NET发送邮件

使用.NET发送邮件
如果你曾经使用过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对象把它发送出去:

1@ Page Language="C#" 
 1<script language="C#" runat="server">
 2
 3void Page_Load()   
 4{   
 5// CREATE A MAIL MESSAGE   
 6System.Web.Mail.MailMessage myEmail = new System.Web.Mail.MailMessage(); 
 7
 8// SET MESSAGE PARAMETERS   
 9myEmail.From = "  [email protected]  ";   
10myEmail.To = "  [email protected]  ";   
11myEmail.Subject = "Product Availability Notice";   
12myEmail.BodyFormat = System.Web.Mail.MailFormat.Html;   
13myEmail.Body = "The sunglasses you expressed interest in are now in stock."; 
14
15//SEND THE MESSAGE   
16System.Web.Mail.SmtpMail.Send(myEmail); 
17
18//UPDATE STATUS   
19lblMailStatus.Text = "Mail successfully sent.";   
20} 
21
22</script>
1<html>
2<body>
3<asp:label id="lblMailStatus" runat="server"></asp:label>
4</body>
5</html>
1@ Page Language="VB" 
 1<script language="VB" runat="server">
 2
 3Sub Page_Load()   
 4'CREATE A MAIL MESSAGE   
 5Dim myEmail as System.Web.Mail.MailMessage = new System.Web.Mail.MailMessage() 
 6
 7'SET MESSAGE PARAMETERS   
 8myEmail.From = "  [email protected]  "   
 9myEmail.To = "  [email protected]  "   
10myEmail.Subject = "Product Availability Notice"   
11myEmail.BodyFormat = System.Web.Mail.MailFormat.Html   
12myEmail.Body = "The sunglasses you expressed interest in are now in stock." 
13
14'SEND THE MESSAGE   
15System.Web.Mail.SmtpMail.Send(myEmail) 
16
17'UPDATE STATUS   
18lblMailStatus.Text = "Mail successfully sent."   
19End Sub 
20
21</script>
1<html>
2<body>
3<asp:label id="lblMailStatus" runat="server"></asp:label>
4</body>
5</html>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus