当前位置:首页 > 网络编程 > WEB编程 > ASP.net >  用ASP.NET设计高效邮件列表(1)

 用ASP.NET设计高效邮件列表(1)

点击次数:18 次 发布日期:2008-11-26 14:15:15 作者:源代码网
源代码网推荐      广东南海市公安局计算机安全监察股 喻凯
源代码网推荐  
源代码网推荐  一个吸引人的、功能完备的网站往往具有以下特征:一是内容充实、实用,吸引对该类内容干兴趣的浏览者;二是页面设置合理,页面设计精美;三是网站互动性强,用户和网站或者用户与用户之间交流方便高效;四是网站内容更新及时并且可以第一时间通知用户。以上这些特点可能对于一些大型的门户网站而言,不是特别适合,因为门户网站的特点,用户流量往往不是内容的区别而是用户习惯、历史原因和地域区别(比如广东地区的浏览者喜欢网易、北京的喜欢新浪)。而对于一般个人网站或者企业网站而言,以上特点就显得特别重要,因为这类网站内容更新不是很快,浏览者来这些网站往往具有特定目的性(比如寻找特定领域的资料或者产品信息),当网站内容吸引到用户以后,网站的更新信息或者网站最新新闻就有必要及时通知浏览者,以此来紧紧抓住浏览者,培养浏览者的“浏览忠诚度”。这就是网站邮件列表的作用。
源代码网推荐  
源代码网推荐  一、邮件列表作用和工作方式
源代码网推荐  邮件列表是什么呢?邮件列表就是网站或者机构为了及时通知信息给相关用户,将这些用户的电子邮件保存并且在有信息需要发送的时候将信息分别发送给所有用户。表面上,邮件列表和发送电子邮件的时候使用的“附送”“密送”差不多,基本没什么差别,其实,它们还是有差别的:(1)邮件列表具有明确的发行目的,发送邮件列表就是为了发送特定信息给特定用户;(2)邮件列表接受人不能取得其他接受人的资料,这一点是邮件列表和电子邮件附送的最大区别。我们知道,当我们收到一些电子邮件的时候,发现在邮件的“附送”栏有很多其他用户的邮件地址,这就是通过“附送”方式将邮件发送给一系列用户;而通过邮件列表发送的邮件,用户感觉就是发送人单独发送给用户的,不能看见其他用户的信息,当然,实质也是这样发送的。这样,我们就可以知道邮件列表的工作方式其实是将每个用户的电子邮件取出,然后逐个发送相同的信息。
源代码网推荐  邮件列表既然是单独逐个发送信息,那么,肯定我们不能通过手工一个个发送,只能通过软件来发送。现在,邮件列表的发送以下几种方式,一是通过专门的邮件群发软件来实现,这些软件将所有电子邮件地址读入,然后逐个发送,这些软件的优点是可以针对具体用户改变邮件主题信息或者发送人邮箱;缺点是往往这些软件需要注册费用;二是通过专门的邮件列表服务提供网站实现,这些网站通过程序帮助邮件列表发行者将信息发送给订阅者,这是个人用户使用最多的一种方式,这种方式的优点是简单、免费,缺点是往往这些服务提供网站性能不是很稳定,邮件延迟情况时常发生;三是通过自己的网站设计一个邮件列表程序,自己管理,这样的优点是发送信息高效、管理方便,缺点是技术实现稍微优点困难,不是很适合一般用户。我们在这里就介绍通过ASP.NET编程实现一个功能完备的邮件列表。
源代码网推荐  
源代码网推荐  二、邮件列表的设计
源代码网推荐  在设计之前我们必须知道一点,邮件列表的所有电子邮件地址必须保存成为一个文件,这里,我们将所有电子邮件地址保存在Access数据库中,这样可以很方便的对邮件地址进行增加、修改、删除等操作。在这里,我们的数据库名为mail.mdb,位于data目录下。数据表名为mail,只有一个字段“mail”,用于保存电子邮件地址。
源代码网推荐  作为一个长期的网站功能,我们当然要求没发送以此邮件都必须有详细的发送记录和每个邮件的发送情况。这里,我们在程序中会自动在log目录使用发送邮件的主题为文件名生产一个HTML格式的Log日志文件。
源代码网推荐  现在,我们已经基本了解了程序的功能和文件结构,我们来看程序代码:
源代码网推荐  <%@ Page Language="VB" Debug="True" Explicit="True"%>
源代码网推荐  <%@ Import Namespace="System.Data" %>
源代码网推荐  <%@ Import Namespace="System.Data.OleDb" %>
源代码网推荐  <%@ Import Namespace="System.Web.Mail" %>
源代码网推荐  <%@ Import Namespace="System.IO" %>
源代码网推荐  
源代码网推荐  <html>
源代码网推荐  
源代码网推荐  <head>
源代码网推荐  <meta http-equiv="Content-Language" content="zh-cn">
源代码网推荐  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
源代码网推荐  <title>邮件列表</title>
源代码网推荐  
源代码网推荐  <style>
源代码网推荐  <!--
源代码网推荐  a:link{color:#0066FF;text-decoration:none;font-size:"9 pt"}
源代码网推荐  a:visited{color:#000066;text-decoration:none;font-size:"9 pt"}
源代码网推荐  a:actived{color:#FF0000;font-size:"9 pt"}
源代码网推荐  a:hover{color:#FF0000;font-size:"9 pt"}
源代码网推荐  table{font-size:"11 pt"}
源代码网推荐  -->
源代码网推荐  </style>
源代码网推荐  
源代码网推荐  </head>
源代码网推荐  
源代码网推荐  <body>
源代码网推荐  
源代码网推荐  <SCRIPT language=VB RUNAT="server">
源代码网推荐  Sub SendMail(Obj As Object, E As EventArgs)
源代码网推荐  lbmsg.Text=""
源代码网推荐  
源代码网推荐  Dim mailObj AS new MailMessage
源代码网推荐  Dim smtp AS new SmtpMail
源代码网推荐  "定义SMTP服务器的名称
源代码网推荐  Smtp.smtpserver="127.0.0.1"
源代码网推荐  "定义邮件的发送地址
源代码网推荐  mailObj.From=sendmailbox.value
源代码网推荐  "定义邮件的接收地址
源代码网推荐  Dim conn AS OleDbConnection
源代码网推荐  conn=connectdb("datamail.mdb")
源代码网推荐  conn.open()
源代码网推荐  Dim reader As oledbdatareader
源代码网推荐  reader=readdb(conn,"select * from mail")
源代码网推荐  
源代码网推荐  while (reader.read())
源代码网推荐  try
源代码网推荐  mailObj.To=reader("mail")
源代码网推荐  
源代码网推荐  mailObj.Subject =subject.value
源代码网推荐  mailObj.Body =content.value
源代码网推荐  "默认发送邮件格式为纯文本TEXT,如果选择HTML格式,设置为HTML格式
源代码网推荐  if mode.value="HTML" then
源代码网推荐  mailObj.BodyFormat=MailFormat.Html
源代码网推荐  end if
源代码网推荐  "设置邮件发送级别为高
源代码网推荐  mailObj.Priority = MailPriority.High
源代码网推荐  
源代码网推荐  Smtp.Send(mailObj)
源代码网推荐  
源代码网推荐  lbmsg.text=lbmsg.text+reader("mail")+"OK!Time:"+Now().ToString()+"<br>"
源代码网推荐  catch er as Exception
源代码网推荐  lbmsg.text=lbmsg.text+er.message+"<br>"
源代码网推荐  finally
源代码网推荐  
源代码网推荐  End Try
源代码网推荐  End While
源代码网推荐  reader.close()
源代码网推荐  Dim strwriterobj As StreamWriter
源代码网推荐  try
源代码网推荐  strwriterobj= File.CreateText(Server.MapPath("log")+subject.value+".htm")
源代码网推荐  strwriterobj.Write("<HTML><head><meta http-equiv="Content-Language" content="zh-cn"><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head><BODY>"+lbmsg.text+"</BODY></HTML>")
源代码网推荐  catch er as Exception
源代码网推荐  lbmsg.text=lbmsg.text+er.message+"<br>"
源代码网推荐  finally
源代码网推荐  strwriterobj.close
源代码网推荐  lbmsg.text=lbmsg.text+"日志保存成功!保存目录:<br>"+Server.MapPath("log")+subject.value+".htm"
源代码网推荐  End Try
源代码网推荐  
源代码网推荐  End Sub
源代码网推荐  
源代码网推荐  "链接数据库
源代码网推荐  "www.knowsky.com
源代码网推荐  Function ConnectDB(txtdatabase AS String) As Oledbconnection
源代码网推荐  Dim conn AS OledbConnection
源代码网推荐  Dim connstr As String
源代码网推荐  connstr="Provider=Microsoft.Jet.OLEDB.4.0; Persist Security Info=False; Data Source=" +Server.MapPath(txtdatabase)
源代码网推荐  connectdb=New OledbConnection(connstr)
源代码网推荐  End Function
源代码网推荐  
源代码网推荐  "读取一条记录
源代码网推荐  Function readdb(conn As Oledbconnection,txtsql As String) As OledbDataReader
源代码网推荐  Dim cmd As OledbCommand
源代码网推荐  cmd=new oledbcommand(txtsql,conn)
源代码网推荐  readdb=cmd.executereader()
源代码网推荐  End Function
源代码网推荐  </SCRIPT>
源代码网推荐  
源代码网推荐  
源代码网推荐  <p align="center"><font size="5" face="楷体_GB2312">邮件列表</font></p>
源代码网推荐  <hr width="60%" size="1">
源代码网推荐  <div align="center">
源代码网推荐  <center>
源代码网推荐  <table border="0" width="770">
源代码网推荐  <tr>
源代码网推荐  <td width="100%">
源代码网推荐  <form method="POST" runat="Server">
源代码网推荐  <table border="0" width="100%" height="125">
源代码网推荐  <tr>
源代码网推荐  <td width="15%" align="right" height="24"> 发送邮箱: </td>
源代码网推荐  <td width="85%" height="24"><input type="text" name="sendmailbox" id="sendmailbox" size="50" runat="Server"/></td>
源代码网推荐  </tr>
源代码网推荐  <tr>
源代码网推荐  <td width="15%" align="right" height="24"> 标题: </td>
源代码网推荐  <td width="85%" height="24"><input type="text" name="subject" id="subject" size="50" runat="Server"/></td>
源代码网推荐  </tr>
源代码网推荐  <tr>
源代码网推荐  <td width="15%" align="right" height="60">内容:</td>
源代码网推荐  <td width="85%" height="60"><textarea rows="6" name="content" cols="80" id="content" runat="Server"/></textarea></td>
源代码网推荐  </tr>
源代码网推荐  <tr>
源代码网推荐  <td width="15%" align="right" height="23">方式:</td>
源代码网推荐  <td width="85%" height="23"><select size="1" name="mode" id="mode" runat="Server">
源代码网推荐  <option value="Text" selected>Text</option>
源代码网推荐  <option value="HTML">HTML</option>
源代码网推荐  </select></td>
源代码网推荐  </tr>
源代码网推荐  </table>
源代码网推荐  <p align="center"><input type="button" value=" 提 交 " name="ok" onserverclick="sendmail" runat="Server"/></p>
源代码网推荐  </form>
源代码网推荐  <ASP:Label id="lbmsg" runat="Server"/>
源代码网推荐  <p> 
源代码网推荐  </td>
源代码网推荐  </tr>
源代码网推荐  <tr>
源代码网推荐  <td width="100%"></td>
源代码网推荐  </tr>
源代码网推荐  </table>
源代码网推荐  </center>
源代码网推荐  </div>
源代码网推荐  
源代码网推荐  </body>
源代码网推荐  
源代码网推荐  </html>
源代码网推荐    做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。
源代码网推荐


源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华