技术开发 频道

用ASP.NET构建完整E-mail发送系统

   【IT168 技术文档】 如果要你用ASP来做一个E-mail发送系统,你首先想到的一定是借助第三方开发的组件,但这样做会耗费你很多的银子。当然你也可以用Windows的自带的对象--CDONTS.NewMail对象来传送E-mail,这虽然是免费的,但却十分依赖操作平台,CDONTS.NewMail对象只存在Windows 200和NT底下,在Windows 95/98底下是没有这个对象。
自从Microsoft公司推出了ASP.NET,E-mail的发送已经成为WEB程序设计的基本对象。本篇文章就是来讨论如何做一个功能十分完备的E_mai的发送系统。

    一.开发和运行平台
Windows 2000 Professional、.Net FrameWork Beta 2

    二.什么样的E-mail发送系统才是一个功能十分完备系统 只有当一个邮件发送系统具备了:收件人地址、发信人地址、抄送地址、密送地址、邮件主题、邮件主体、和附件等功能时,这个邮件发送系统才是一个比较完备的系统。具备的具体功能如下图所示:

   下面就介绍实现这些功能的具体步骤。

   三.具体实现步骤
    首先要介绍.Net FrameWork SDK中的一个关于E-mail发送的Class Library(类库)--System.Web.Mail。这个Class library提供了E-mail发送的所有对象、属性和方法。其中最重要的对象是MailMessage对象和SmtpMail对象。MailMessage对象主要是包装E-mail的各个结构。譬如:收件人地址、发信人地址等。SmtpMail对象主要是把已经定义好的MailMessage对象发送出去。下面就一些重要的步骤具体说明一下:
    1.为了定义MailMessage对象,首先要创立一个MailMessage对象。通过下面语句就可以创立一个MailMessage对象。
    <% @Import Namespace="System.Web.Mail"
    Dim MailObj as New MailMessage() %>

    2.有了一个MailMessage对象后,下面就来定义邮件的结构。我们按照上图的邮件结构顺序来逐个定义。
    1>.邮件的发送地址:
    MailObj.form="发送地址"
    2>.邮件的目的地址:
    MailObj.to="目的地址"
    如果你要发送给多个人,用逗号分开每个邮件地址。
    3>.邮件的抄送地址:
    MailObj.cc="抄送地址"
    同样的,如果你要发送给多个人,可以在"抄送地址"上,写上多个邮件地址,但要用逗号把他们分开。
    4>.邮件的密送地址:
    MailObj.bcc="密送地址"
    密送地址和抄送地址类似
    5>.邮件主题:
    MailObj.subject="邮件主题"
    6>.邮件内容:
    MailObj.Body="邮件内容"
    7>.邮件的优先级:
    MailObj.Priority = MailPriority.Normal '这是把邮件的优先级定义为普通,你也可以定义为高(high)、低(low)
    8>.定义邮件格式:
    MailObj.BodyFormat = MailFormat.Text '这是把邮件定义为文本格式,你也可以把邮件定义为超文本格式,只有把   MailFormat.Text改成MailFormat.Html即可。
    9>.给邮件添加一个附件:
    用过ASP的人都了解,要想浏览一下文件是多么困难的事情。但ASP.NET出现以后,这一切就变的简单起来。只用下面一行代码,就可以选择驱动器的任何文件。
<input id="Emailfile" type="file" runat="server" size="40" />

    3.发送E-mail
    SmtpMail.SmtpServer = "" '指定使用缺省的SMTP服务器
    SmtpMail.Send(MailObj) '发送E-mail
0
相关文章