用Asp.Net 来发送E-mail

在这篇文章中,我们将演示如何编写asp.net来发送emails。这将要讨论到诸如email 格式,优先级别,附件和邮件加密。
Asp.net通过使用SmtpMail对象来发送邮件。SmtpMail对象发送邮件是通过以下几步来完成的。

导入与mail相关的名称空间。

建立一个message对象并设置属性。

通过SmtpMail对象实例的'Send'方法来发送邮件。

现在让我们一步步的来了解从asp.net页面发送邮件的过程。
一. 导入名称空间
在asp.net页面中导入System.Web.Util名称空间,这个名称空间包含了所有发送邮件所必须的对象。这些对象是:

对象简介
SmtpMail声明邮件系统(mail system)来发送邮件。
MailMessage声明一个消息(message),包含发送地址,接收地址等属性。
MailFormat声明消息的格式-Html,Text 等等。
MailAttachment声明邮件的附件。
MailEncoding enum声明加密方式:Base64 or UUencode.
MailPriority enum设置邮件的优先级别:值:高,底,一般
1 @Import Namespace = "System.Web.Util" 

二。初始化MailMessage 对象
使用以下语句可以实现初始化MailMessage对象。
Dim mailObj AS new MailMessage
MailMessage对象具有以下属性。

属性描述
From发送方的email地址
To接收方的email地址
SubjectEmail的主题
BodyEmail的内容
CCList of recipients copied on the email
BCCList of recipients blind-copied on the email
Priority邮件的优先级别
高,底,一般
BodyEncoding加密邮件的内容
Base64 或 UUencode
BodyFormat内容的格式
Html 或文本
Attachments附件列表

以下几行代码演示了如何使用MailMessage对象的属性的方法。他描述了我们将要创建的消息Message, 而这个消息(message)是用SmtpMail对象来发送的。在我们的这个例子中,mailObj就是MailMeessage对象的实例。

mailObj.From = "[email protected]"
mailObj.To = Request.Form ("to")
mailObj.Subject = "subject of the mail"
mailObj.Body = "Message of the mail"

三。发送邮件
最后通过SmtpMail对象的'send'方法来发送邮件。下面的代码就是用来发送邮件的。
SmtpMail.Send(mailObj)
最后我们把以上的这些应用到一个完整的例子当中来。
下面是用Asp.net+C#编写的。

1@page language="C#" 
1@Import Namespace="System.Web.Util" 
 1<html><body>
 2<script language="C#" runat="server">   
 3// This method is called on the server when the submit   
 4// button is clicked on the client and when the page   
 5// posts back to itself    
 6public void SendMail (Object Obj, EventArgs E)   
 7{   
 8  
 9MailMessage mailObj = new MailMessage();   
10  
11// 设置email的'from'和'to'的地址   
12mailObj.From = Request.Form("From");   
13mailObj.To = Request.Form("To");   
14  
15mailObj.Subject = "Subject Of the Mail";   
16mailObj.Body = "Body of the Mail";   
17  
18// 可选: 使用html格式的Email    
19mailObj.BodyFormat = MailFormat.Html;   
20  
21// 可选: 对邮件进行加密    
22mailObj.BodyEncoding = MailFormat.Base64;   
23  
24// 可选: 设置邮件的优先级别为高   
25mailObj.Priority = MailPriority.High;   
26  
27// 可选: 附件   
28// 注意这里我们创建了一个MailAttachment对象来附加一个文件到email。   
29mailObj.Attachments.Add(new MailAttachment("c:\\\test.doc"));   
30  
31// 使用SmtpMail对象来发送邮件。   
32SmtpMail.Send(mailObj);   
33}   
34</script>
35<asp:label id="Headingmsg" runat="server" text="Enter Your Email Address:"></asp:label>
36<form method="post" runat="server">   
37  
38Email Recipient: <input name="to" type="text"/> <br/>   
39Email Sender: <input name="from" type="text"/>
40<input name="Submit" onserverclick="SendMail" runat="server" type="submit" value="Send Mail"/>
41</form>
42</body>
43
44本人的翻译水平不高,有些地方自己懂,但是要翻译过来还真难,希望大家指正。括号中的英文是自己觉得翻译不准的地方。</html>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus