在这篇文章中,我们将演示如何编写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地址 |
Subject | Email的主题 |
Body | Email的内容 |
CC | List of recipients copied on the email |
BCC | List 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>