ASP环境下邮件列表功能的实现 (一)

发表于:2007-06-30来源:作者:点击数: 标签:
邮件列表(Mailing List)是当前最受欢迎的 网络 服务之一。本文通过一个示例系统的建设,介绍在ASP环境下邮件列表功能的实现方法。 ChinaByte网络学院的《 Java Mail API及其应用》一文介绍了在Java中简单邮件列表服务功能的实现方法,本文介绍的是类似功能
邮件列表(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

   我们用Aclearcase/" target="_blank" >ccess数据库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()。所有其它字段的含义均可从其名字看出

原文转自:http://www.ltesting.net