欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-07-04 11:48:48
邮件列表(mailing list)是当前最受欢迎的网络服务之一。本文通过一个示例的建设,介绍在asp环境下邮件列表功能的实现方法。    chinabyte网络学院的《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

   我们用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()。所有其它字段的含义均可从其名字看出