当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP环境下邮件列表功能的实现 (四)(推荐)

ASP
网络寻呼机数据库版删除选中的消息deletemessage.asp
网络寻呼机数据库版隐藏文件watch.asp
网络寻呼机数据库版总结
一种在线人数统计方法(只用1个APPLICATION)
用ASP.NET构建完整E-mail发送系统
用ASP.NET建立简单的Web Form
为你的ASP程序制作一个编译组件(上)
为你的ASP程序制作一个编译组件(中)
为你的ASP程序制作一个编译组件(下)
利用ASP将HTML格式数据传输给Excel(1)
利用ASP将HTML格式数据传输给Excel(2)
利用ASP将HTML格式数据传输给Excel(3)
利用ASP将HTML格式数据传输给Excel(4)
磁盘ID在ASP源码防拷贝中的应用
WEB环境下打印报表的crystal的解决方案
如何把存储在数据库中的图片根据自己的需要的大小显示出来
客户端用ASP+rds+VBA参生报表
利用ASP.NET设计FTP文件上传(上)
利用ASP.NET设计FTP文件上传(中)
利用ASP.NET设计FTP文件上传(下)

ASP环境下邮件列表功能的实现 (四)(推荐)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 97 ::
收藏到网摘: n/a

       最后要实现的功能是邮件的编辑和发送。这部分功能由Email_List.asp文件提供,其界面如图6所示。接下来我们就来分析这个文件。

   Email_List.asp的内部工作过程和edit_record.asp很类似。管理员在表单中写作邮件并提交它,系统将选择所有Mail_List字段值为“是”的记录,然后将新邮件的拷贝发送给这些记录中的Guest_Mail地址。

   每一次发送邮件我们都重新创建mailer对象,发送完成后关闭它。这一点非常重要,这是由于我们需要修改邮件的正文,加入取消订阅邮件列表的URL和ID号。

 if Request.ServerVariables("REQUEST_METHOD") = "POST" then
  strSubject = Request.Form("txtSubject")
  strBody = Request.Form("txtBody")
  strFrom = Request.Form("txtFrom")
  ' 从数据库选取收件人记录
  strSQL_SelectEmail = "SELECT Guests.Guest_ID, Guests.Guest_Email " & _
  " FROM Guests WHERE ((Guests.Mail_List)=-1);"
  Set oConn = Server.CreateObject("ADODB.Connection")
  oConn.Open strDSNPath
  Set rsMail = oConn.Execute(strSQL_SelectEmail)
  if rsMail.BOF = True and rsMail.EOF = True then
  ...数据库为空提示,略...
  else
  rsMail.MoveFirst
  Do While Not rsMail.EOF
  ' 创建对象
  Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
  ' 填写其它邮件标题信息
  Mailer.FromName = strFrom
  Mailer.FromAddress = strEmailFrom
  Mailer.RemoteHost = strHost
  Mailer.Subject = strSubject
  Mailer.BodyText = ...设置邮件内容,略...
  strTo = rsMail.Fields("Guest_Email").Value
  If strTo < > "" then
  Mailer.Recipient = strTo
  if Mailer.SendMail then
  ...发送成功提示,略...
  else
  ...发送失败提示,略...
  end if 'Mailer.SendMail
  end if 'strTo < > ""
  rsMail.MoveNext
  Set Mailer = Nothing
  Loop
  end if 'rsMail.BOF = True and rsMail.EOF = True
  rsMail.Close
  Set rsMail = Nothing
  oConn.Close
  Set oConn = Nothing
 end if 'REQUEST_METHOD = "POST"

   这里需要注意的是,我们将变量strHost的值赋给ASPMail的实例对象的RemoteHost属性。因此,必须保证strHost的值是一个合适的邮件服务器名字(如mail.mydomain.com)。