用ASP.NET设计定时邮件群发系统

来源 :考试周刊 | 被引量 : 0次 | 上传用户:shumoljw
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:定时邮件群发系统由邮件列表、邮件发送、定时触发送几部分组成,利用System.Net.Mail类实现邮件发送,利用Application_Start事件和System.Timers类实现定时发送。ASP.NET作为先进的WEB开发工具被广泛使用,强大的功能保证了功能实现的简单性、系统的稳定性。
  关键词:ASP.NET 邮件 邮件群发 邮件列表
  
  随着信息技术的发展,因特网在人们的日常工作和生活中发挥着越来越大的作用。电子邮件作为因特网的重要功能之一,并利用电子邮件的快速、廉价、便于存储、传递多媒体信息、便于多向交流、方便保密等独特优点,在个项工作中发挥重要作用,如在BBS、交易等服务网站得到了广泛应用。如果需要向多方用户发送相同类型的邮件时,人工每份逐一发送不但工作量很大,而且不能达到及时发送的效果。所以群发就非常必要,让每个用户都能及时得到最新的信息。
  
  一、邮件列表的作用和工作方式
  
  邮件列表就是网站或者机构为了及时通知信息给相关用户,将这些用户的电子邮件保存,并且在有信息需要发送的时候将信息分别发送给所有用户。表面上,邮件列表和发送电子邮件的时候使用的“附送”、“密送”差不多,基本没什么差别,其实,它们还是有差别的:邮件列表具有明确的发送目的,发送邮件列表就是为了发送特定信息给特定用户;邮件列表接受人不能取得其他接受人的资料,这一点是邮件列表和电子邮件附送的最大区别。发现在邮件的“附送”栏有很多其他用户的邮件地址,这就是通过“附送”方式将邮件发送给一系列用户;而通过邮件列表发送的邮件,用户感觉就是发送人单独发送给用户的,不能看见其他用户的信息。这样,我们就可以知道邮件列表的工作方式其实是将每个用户的电子邮件取出,然后逐个发送相同的信息。
  
  二、邮件列表的设计
  
  邮件列表的所有电子邮件地址必须保存在数据库表中或一个文件中,这样可以很方便地对邮件地址记录进行管理。假设存入表userE-mail中,表结构为标识号ID、邮件地址E-mail等字段。利用DataSet读取邮件地址E-mail。
  private static void EMailList()
  {
  DataSet ds = new DataSet();
  OleDbDataAdapter da = new OleDbDataAdapter(“select id,email from userEmail”,OleDbConnection);
  da.Fill(ds);
  }
  
  三、邮件发送
  
  一般来讲,做ASP的邮件发送系统都是借助第三方开发的组件,如Jmail等,当然你也可以用Windows的自带的对象CDONTS.NewMail对象来传送E-mail,这虽然是免费的,但却十分依赖操作平台,CDONTS.NewMail对象只存在Windows 200和NT底下,在Windows 95/98底下是没有这个对象。自从Microsoft公司推出了asp.net(微软最强的开发语言),利用System.Net.Mail空间,E-mail的发送已经成为WEB程序设计的基本对象,利用MailMessage的to、from、host等属性和send事件就能简单实现发送邮件功能。
  public Boolean SendMail(string cFrom,string cSmtpServer,string cUserName,string cPassword,string cTo,string cSubject,string cBody)
   {
  Msg.Sender = new MailAddress(cFrom);//发件地址
  Msg.To.Add(cTo);//目的地址
  Msg.Subject = cSubject;//标题
  Msg.Body = cBody;//内容
  Msg.IsBodyHtml = true;//内容发送是否以HTML格式发送,否则以文本格式发送
  SmtpClient smtp = new SmtpClient();
  smtp.Host = cSmtpServer;
  smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
  smtp.Credentials = new NetworkCredential(cUserName,cPassword);
  smtp.Send(Msg);
   }
  
  四、Smtp服务器
  
  Smtp服务器是邮件发送服务器,而现在一些免费邮件提供商是不再提供针对所有邮件提供Smtp服务,在发送邮件的时候,需要验证用户信息,因此,不能随便使用一个Smtp服务器,而必须使用完全免费的Smtp服务器,这样的服务器现在已经很少了。所以,如果有条件,最好我们自己设置计算机为Smtp服务器,怎样实现,我们可以下载EasyMail等软件。第二是邮件发送速度问题,如果Smtp服务器在本地计算机,发送速度很快,基本上不用担心;如果不是本地服务器,那么发送的时候最好不要一次太多,一是速度问题,二是一次发送太多邮件,Smtp服务器可能认为是垃圾邮件而拒绝服务。
  
  五、邮件定时群发
  
  在ASP.NET开发的系统里面,有时会有需要定时做一件操作的功能,例如发送通知邮件、清理信息等。有些采用了Windows服务的方式,所有的Windows服务都必须写入注册表的HKEY_LO-CAL_MACHINE \SYSTEM \CurrentControlSet\Services位置中。但作为一个Web系统需要Windows服务,并且需要修改注册表,假设需要更新系统还得又要更新服务,这样就没有发挥Web系统的优势。
  ASP.NET系统里能怎样做定时类的功能?利用Global.asax中的Application_Start事件和System.Timers类。Global.asax文件(也称作ASP.NET应用程序文件)是可选文件,包含用于响应ASP.NET引发的应用程序级别事件的代码。Global.asax文件驻留在基于ASP.NET的应用程序的根目录中。在运行时,分析Global.asax文件并将其编译到一个动态生成的.NET Framework类,该类是从HttpApplication基类派生的。Global.asax文件本身被配置为自动拒绝对它的任何直接URL请求,外部用户无法下载或查看在该文件中编写的代码。
  void Application_Start(object sender,EventArgse)事件在应用程序开始前调用,只要该WEB系统开始运行,该事件就先触发,定时触发的判断就可以加在里面。Timer组件是基于服务器的计时器,它使您能够指定在应用程序中引发Elapsed事件的周期性间隔,然后可以操控此事件以提供定期处理。
  void Application_Start(object sender,EventArgs e)
  {
  System.Timers.Timer t = new System.Timers.Timer(60000);//定义timer并设定其周期时间,1000为1秒
  t.Elapsed = new System.Timers.ElapsedEventHandler(OnTimedEvent);//定时调用处理事件
  t.Enabled = true;
  }
  private static void OnTimedEvent(object source,System.Timers.ElapsedEventArgs e)
  {
  System.DateTime dt = System.DateTime.Now;
  if (dt.Hour == 0
其他文献
摘 要:英语教学的成功取决于多种因素,其中输入是最重要的。本文首先论述Krashen的语言输入理论,就输入什么及怎样输入作了探讨,然后分析了如何使语言输入变成语言吸收,最后讨论对中学英语教学的启示。  关键词:语言输入 语言吸收 语言教学    一、引言    语言输入( Input) 对于外语习得的重要性已经得到大部分研究人员和语言教师的认同。其中最有名的要数Krashen 的i 1 理论。
摘 要:大学生学生管理工作一直是高校研究的重点工程,尤其是现在许多高校合并之后,如何建立一个便利、快捷的管理体系更是高校研究的重点课题。本文就现阶段我国多校区高校学生管理的现状进行分析,提出一些改革措施。  关键词:多校区 学生管理 改革 现状    随着我国高等教育体制的不断发展,越来越多的高校通过高校合并、建设新校区等方式进行办学实践。虽然多校区办学对扩大办学规模、整和办学资源、提高办学及科研
[摘 要]大学章程是和谐校园建设的重大问题,而教师权利能在多大程度上得到维护和保障,直接关系到和谐校园建设的成效。本文在分析教师权利的基础上,探讨了大学章程对其维护和保障的主要途径。  [关键词]和谐校园;教师权利;大学章程;维护和保障  [中图分类号]G451 [文献标识码] A [文章编号] 1009 — 2234(2013)09 — 0129 — 02  教师是教育的组织者和实施者,建设一支
摘 要:本文介绍了在VB程序设计教学中,提高教学效果,解决程序设计本身枯燥、难懂的问题和培养学生求解问题能力的方法。  关键词:VB程序设计 教学过程 能力    VB程序设计是大多高校必开的计算机基础课程,在我校,VB也针对绝大多数院系开课。但由于课程比较枯燥难学,学生对程序设计畏惧、对程序设计思想不理解等诸多原因,导致VB课程教学效果达不到预期效果。通过几年的VB基础教学,我总结了一些教学经验
摘 要:当前旅游市场的不断成熟对从业人员的素质要求也越来越高。中职教育只有培养出既有较扎实的理论基础又有较强的实践能力的学生才能跟上行业发展的步伐。“以能力为本位,以学生为中心”的教育理念正是在这种就业趋势的影响下对中职课程改革提出的的方向性要求。  关键词:学生中心 能力本位 礼仪 实践教学    自1979年以来,我国旅游业得到了迅速发展,据预测,2020年我国将成为世界第一客源国和第四大旅游
党的十七大报告在“优先发展教育,建设人力资源强国”这部分指出:“要全面贯彻党的教育方针,坚持育人为本、德育为先,实施素质教育,提高教育现代化水平,培养德智体美全面发展的社会主义建设者和接班人,办好人民满意的教育。” 其中,“育人为本、德育为先”点明了学校德育的重要性,要求学校培养出符合中国特色社会主义伦理道德规范的高素质人才。但当前学校的德育状况却是不容乐观的,学校德育到底问题何在?对策何在呢?笔
摘 要:在我国,学校不仅是传授科学文化知识的园地,更是对学生进行道德教育的重要场所。学校德育是学生道德水平提升的重要方式,思想品德和思想政治课程是中学德育的主要途径。思想政治课自身的责任以及社会、家长对课程的期望,使得中学思想政治课处于一个尴尬的境地。针对当代中学生的思想特点,强化学校思想政治课的地位,增强政治课的实效性,构建学校、家庭、社会三位一体的德育框架模式是加强青少年德育建设的可行方法。 
实施新课程改革以来,大家积极投入到“课改”的浪潮之中,尽量去诠释新的课程理念,演绎新的课程文化。但是由于对我国优秀传统文化的认同、吸纳不足,对我国母语教学的历史经验和现时成果的认同和吸纳不足,对我国的国情了解不够,以致缺乏厚实的历史文化背景的依托和生动的教育实践的支撑。语文教学丧失了应有的意味,拧干了原汁,使语文教学错位、变形、变味、变质。  那么,当前的语文课堂,究竟有哪些弊端呢?  一、语文教
摘 要:讨论式教学是一种基于现代教学观念而通过师生及生生之间的讨论、交流来达成目标,是以讨论为中心的综合式课堂教学方法。思想政治课运用讨论式教学方法教学,力图通过师生及生生的活动解决思想政治课教学中的根本性问题,充分发挥学生主体作用,培养思维的广泛性(发散性)和深刻性,使思想政治课焕发出生命活力。本文拟从教学目标、内容与方式、学习方法、能力培养、评价体系、师生关系等不同角度初步探讨在现代教育教学理
摘 要:网络黑客的攻击令人防不胜防,计算机恶意代码更是计算机系统安全中很难根治的主要威胁之一,严重干扰了人们平时的学习和工作。目前,病毒已成为困扰计算机系统安全和网络发展的重要问题。只有了解病毒,才能更有效地防范病毒。为了更好地防范计算机恶意代码对计算机系统的入侵,必须对其进行全面深入的研究。本文根据当前计算机恶意代码的情况,详细地介绍了常见的恶意代码的特征与技术。  关键词:恶意代码 特征 技术