|          
     邮件列表(Mailing List)是当前最受欢迎的网络服务之一。本文通过一个示例系统的建设,介绍在ASP环境下邮件列表功能的实现方法。     
 
 ChinaByte网络学院的《Java Mail API及其应用》一文介绍了在Java中简单邮件列表服务功能的实现方法,本文介绍的是类似功能在ASP应用中的实现。我们将通过一个示例系统具体说明其实现过程。
 
 一、系统概貌
 
 整个应用系统可以分为两个部分,即面向最终用户的功能和面向管理任务的功能。面向最终用户的功能主要包括:提供输入界面让用户输入个人信息(用户名字和Email地址等)并将其注册到“客户登记簿”,提供“取消订阅邮件列表”功能。
 
 管理员访问管理界面之前应通过简单的安全检查。成功进入管理界面之后,管理员需要执行的操作包括查看、编辑和删除用户记录,编辑邮件以及发送邮件给所有订阅者。
 
 向订阅者发送邮件需要用一个服务器部件来完成。在本实现中我们将使用ServerObjects的ASPMail     3.0。据该公司网站介绍,在所有商业或免费的类似产品中,ASPMail在ASP环境下的应用最为广泛,包括Microsoft、Intel、HP在内的许多公司均使用ASPMail,从它的Web网站可以下载试用版本。试用版本的ASPMail将在由它所发送的每个邮件末尾加上版权声明。当然,也可以选用其它类似的服务器部件,包括Jmail以及NT     服务器(Service Pack 4)提供的CDONTS.NewMail对象。下面我们简单介绍这两个部件的使用,你可以按照这里的介绍替换本文实现中的ASPMail。
 
 CDONTS只有在NT服务器上才是可用的。而ASPMail除了NT服务器、工作站之外还可以用于Win9x。CDONTS是Collaboration     Data Objects for NT Server的缩写,邮件的发送任务可以用它的NewMail对象完成。和ASPMail以及Jmail不同,NewMail对象不要求指定SMTP服务器信息,它总是假定邮件是通过本地机器上安装的邮件服务发送的。发送一个简单的纯文本邮件的VBScript代码如下:
 
 ' 创建NewMail对象实例
 Set mail = Server.CreateObject("CDONTS.NewMail")
 ' 设置收件人,发件人等信息
 mail.From = "Guest0@Test.com"
 mail.To = "Guest1@Test.com"
 ' 邮件内容
 mail.Body = "邮件内容."
 ' 发送邮件
 mail.Send
 Set mail = Nothing
 
 Jmail是完全免费的,由Dimac开发。用它来发送邮件的代码为:
 
 ' 创建对象
 Set Jmail = Server.CreateObject("Jmail.SMTPMail")
 ' 指定邮件服务器
 Jmail.ServerAddress = "mail.mydomain.com"
 ' 发件人,收件人,主题
 Jmail.Sender = "admin@Test.com"
 Jmail.AddRecipientEx "Guest0", "Guest0@Test.com"
 Jmail.Subject = "邮件主题"
 ' 邮件内容
 Jmail.Body = "邮件内容"
 ' 发送邮件
 Jmail.Execute
 
 我们用Access数据库guestbook.mdb来存储用户信息。该数据库只含一个表Guests。Guests表的字段名称及其类型如下:
 Guests表结构
 字段名称 类型 大小 说明
 Guest_ID 自动编号 长整形 主键
 Guest_Name 文本 50
 Guest_Email 文本 50
 Mail_List 是/否
 Sign_Date 日期/时间
 Guest_Comment 文本 255
 
 
 每个用户记录都需要一个唯一标识,因此我们将这里的Guest_ID字段定义为自动编号类型。将Mail_List字段设为是/否类型使得我们可以快速和方便地检查用户是否要求加入邮件列表。Sign_Date字段保存的是用户注册日期,请将其缺省值设置为Now()。所有其它字段的含义均可从其名字看出
 |