使用 ASP.NET 开发邮件发送系统
如今,随着 Internet 的迅速发展,许多企业都纷纷架构起自己的网站,用来开展企业的电子商务活动,如发布、管理企业自己的供求信息;发展和管理企业的会员等。除了这些以外,还有一点是十分重要的,就是向所有企业注册会员发送电子邮件,及时通知用户企业的最新消息。
Microsoft 公司推出 Visual Studio.NET 已有一段时间了,一些以前使用 ASP 开发 WEB 应用程序的网友,现在也慢慢地有 ASP 转向 ASP.NET 平台。为了能够帮助一些想使用 ASP.NET 开发邮件发送系统的网友顺利完成这一功能,下面我们就一起来讨论这个问题。
一、 ASPX 运行环境
由于 Microsoft 公司已发布的 .NET Framework SDK 的 Beta1 和 Beta2 两个版本有很大的区别,所以本文是以 Beta2 版本为例讲解。
二、 SMTP 协议简介
SMTP 协议,是简单邮件传输协议( Simple Mail Transfer Protocol )的简称。 一般的发信软件,如 Outlook Express 、 FoxMail 等都是使用这个协议进行发送和中转邮件的。
三、 名称空间( NameSpace )
介绍一下在本文的程序中要用到名称空间( NameSpace )— System.Web.Mail (在 .NET Framework SDK Beta1 版本中叫做 System.Web.Util )类库里所提供的邮件发送的对象、属性和方法。
1、 对象( Object )
System.Web.Mail 名称空间用来发送邮件的对象有 SmtpMail 、 MailMessage 和 MailAttachment 等三个对象,具体作用下文有说明。
2、 属性( Propertiy )
System.Web.Mail 名称空间的主要属性,是 MailMessage 对象的属性,下表列出了 MailMessage 对象属性的名称及其意义:
属性名称 代表意义
From 发信人地址(源地址)
To 接收人地址(目的地制)
Subject 邮件标题
Priority 邮件优先级( High,Low,Normal )
Attachment 邮件附件
Bcc 暗送地址
Cc 抄送地址
Body 邮件主体
BodyFormat 邮件格式( Html 格式、 Text 格式)
Bodyencoding 编码( Base64,UUencode )
3、 方法( Method )
Send 方法,邮件就是通过 Send 方法发送出去的。该方法的调用有两种方式:
1) SmtpMail.Send(“ 源地址 ”,” 目标地址 ”,” 主题 ”,” 内容 ”)
2) SmtpMail.Send(MailMessage)
注:本文就是采用第二种调用方式。
四、 程序源代码(编程脚本语言为 VB.NET )
1@ Page Language="VB" runat="server"
1<script runat="server">
2
3Sub Button1_Click(sender As Object, e As EventArgs)
4
5Dim strFrom,strTo,strBcc,strCc,title,ContText
6
7strFrom =TextBox1.Text
8
9strTo =TextBox2.Text
10
11strBcc =TextBox3.Text
12
13strCc =TextBox4.Text
14
15title =TextBox5.Text
16
17ContText =TextBox6.Text
18
19Dim objMail As new MailMessage
20
21Dim smtp As new SmtpMail
22
23Smtp.SmtpServer="smtp.163.com" ' 定义服务器的名称
24
25Select Case objMail
26
27.From= strFrom
28
29.To= strTo
30
31.Bcc= strBcc
32
33.Cc= strCc
34
35.Subject= title
36
37.Body= ContText
38
39.BodyFormat= mailFormat.Html
40
41.Priority= Mailpriorty.High
42
43End Select
44
45Smtp.Send(objMail)
46
47End Sub
48
49</script>
1<html>
2<body>
3<form runat="server">
4<p>
5
6接收人: <asp:textbox id="TextBox1" runat="server">
7</asp:textbox>
8</p>
9<p>
10
11发送人: <asp:textbox id="TextBox2" runat="server"></asp:textbox>
12</p>
13<p>
14
15暗 送: <asp:textbox id="TextBox3" runat="server"></asp:textbox>
16</p>
17<p>
18
19抄 送: <asp:textbox id="TextBox4" runat="server"></asp:textbox>
20</p>
21<p>
22
23主 题: <asp:textbox id="TextBox5" runat="server"></asp:textbox>
24</p>
25<p>
26
27内 容: <asp:textbox id="TextBox6" runat="server"></asp:textbox>
28</p>
29<p>
30<asp:button id="Button1" onclick="Button1_Click" runat="server" text=" 发送 ">
31</asp:button>
32</p>
33</form>
34</body>
35</html>
五、 总结
以前, Microsoft 公司没有推出 ASP.NET 时,我们用 ASP 做一个邮件发送系统感觉很复杂,是一件很难办的事情,现在可好了, Microsoft 公司最近已推出 .NET Framework SDK Beta2 版本,利用 System.Web.Mail 名称空间强大的类库,使我们完成这项工作变得简单起来。