如今,随着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)
<%@ Page Language="VB" runat="server"%>
<script runat="server">
Sub Button1_Click(sender As Object, e As EventArgs)
Dim strFrom,strTo,strBcc,strCc,title,ContText
strFrom =TextBox1.Text
strTo =TextBox2.Text
strBcc =TextBox3.Text
strCc =TextBox4.Text
title =TextBox5.Text
ContText =TextBox6.Text
Dim objMail As new MailMessage
Dim smtp As new SmtpMail
Smtp.SmtpServer="smtp.163.com" '定义服务器的名称
Select Case objMail
.From= strFrom
.To= strTo
.Bcc= strBcc
.Cc= strCc
.Subject= title
.Body= ContText
.BodyFormat= mailFormat.Html
.Priority= Mailpriorty.High
End Select
Smtp.Send(objMail)
End Sub
</script>
<html>
<body>
<form runat="server">
<p>
接收人:<asp:TextBox id="TextBox1" runat="server">
</asp:TextBox>
</p>
<p>
发送人:<asp:TextBox id="TextBox2" runat="server"></asp:TextBox>
</p>
<p>
暗 送:<asp:TextBox id="TextBox3" runat="server"></asp:TextBox>
</p>
<p>
抄 送:<asp:TextBox id="TextBox4" runat="server"></asp:TextBox>
</p>
<p>
主 题:<asp:TextBox id="TextBox5" runat="server"></asp:TextBox>
</p>
<p>
内 容:<asp:TextBox id="TextBox6" runat="server"></asp:TextBox>
</p>
<p>
<asp:Button id="Button1" onclick="Button1_Click" runat="server"
Text="发送">
</asp:Button>
</p>
</form>
</body>
</html>
五、总结
以前,Microsoft公司没有推出ASP.NET时,我们用ASP做一个邮件发送系统感觉很复杂,是一件很难办的事情,现在可好了,Microsoft公司最近已推出.NET Framework SDK Beta2 版本,利用System.Web.Mail名称空间