用AS P.NET设计定时邮件群发系统
摘要定时邮件群发系统由邮件列表、 邮件发送、定时触发送几部分组成 利用System.Net.Mail类实现邮件发送利用Applic at ion_Start事件和System.Timers类实现定时发送。AS P.NET作为先进的WEB开发工具被广泛使用强大的功能保证了功能实现的简单性、系统的稳定性。
关键词 AS P.NET邮件邮件群发邮件列表
随着信息技术的发展因特网在人们的日常工作和生活中发挥着越来越大的作用。电子邮件作为因特网的重要功能之一并利用电子邮件的快速、廉价、便于存储、传递多媒体信息、便于多向交流、方便保密等独特优点在个项工作中发挥重要作用如在BBS、交易等服务网站得到了广泛应用。如果需要向多方用户发送相同类型的邮件时人工每份逐一发送不但工作量很大而且不能达到及时发送的效果。所以群发就非常必要让每个用户都能及时得到最新的信息。
一、邮件列表的作用和工作方式
邮件列表就是网站或者机构为了及时通知信息给相关用户将这些用户的电子邮件保存并且在有信息需要发送的时候将信息分别发送给所有用户。表面上邮件列表和发送电子邮件的时候使用的“附送”、 “密送”差不多基本没什么差别其实它们还是有差别的邮件列表具有明确的发送目的发送邮件列表就是为了发送特定信息给特定用户邮件列表接受人不能取得其他接受人的资料这一点是邮件列表和电子邮件附送的最大区别。发现在邮件的“附送”栏有很多其他用户的邮件地址这就是通过“附送”方式将邮件发送给一系列用户而通过邮件列表发送的邮件用户感觉就是发送人单独发送给用户的不能看见其他用户的信息。这样我们就可以知道邮件列表的工作方式其实是将每个用户的电子邮件取出然后逐个发送相同的信息。
二、邮件列表的设计
邮件列表的所有电子邮件地址必须保存在数据库表中或一个文件中这样可以很方便地对邮件地址记录进行管理。假设存入表userE-mail中表结构为标识号ID、邮件地址E-mail等字段。利用DataS et读取邮件地址E-mail。private static void EMailList()
{
DataSet ds=new DataSet()
OleDbDataAdapter da = new OleDbDataAdapter(“select id email from userEmail”OleDb Connection)da.Fill(ds)
}
三、邮件发送
一般来讲做ASP的邮件发送系统都是借助第三方开发的组件如Jmail等当然你也可以用Window s的自带的对象CDONT S.NewMail对象来传送E-mail这虽然是免费的
但却十分依赖操作平台 CDONT S.省略(微软最强的开发语言)利用System.Net.Mail空间E-mail的发送已经成为WEB程序设计的基本对象利用MailMes s age的to、 from、 host等属性和s end事件就能简单实现发送邮件功能。public Boolean SendMail(string cFrom string c SmtpServer string cUserName stringcPassword string cTo string c Subject string cBody)
{
Msg.Sender=new MailAddress(cFrom) //发件地址
Ms g.To.Add(c To) //目的地址
Msg.Subject=cSubject //标题
Msg.Body=cBody //内容
Ms g.Is Body Htm l=true //内容发送是否以HTML格式发送否则以文本格式发送
SmtpClient smtp=new SmtpClient()s mtp.Ho s t=c S mtp S erv ers mtp.DeliveryMethod=SmtpDeliveryMethod.Netw orksmtp.Credentials=new Netw orkCredential(c Us erName c Passw ord)smtp.S end(Ms g)
}
四、 S mtp服务器
S mtp服务器是邮件发送服务器而现在一些免费邮件提供商是不再提供针对所有邮件提供S mtp服务在发送邮件的时候需要验证用户信息因此不能随便使用一个S mtp服务器而必须使用完全免费的Smtp服务器这样的服务器现在已经很少了。所以如果有条件最好我们自己设置计算机为S mtp服务器怎样实现我们可以下载Eas yMail等软件。第二是邮件发送速度问题如果Smtp服务器在本地计算机发送速度很快基本上不用担心如果不是本地服务器那么发送的时候最好不要一次太多一是速度问题二是一次发送太多邮件 S mtp服务器可能认为是垃圾邮件而拒绝服务。
五、邮件定时群发
在AS P.NET开发的系统里面有时会有需要定时做一件操作的功能例如发送通知邮件、清理信息等。有些采用了Windows服务的方式所有的Windows服务都必须写入注册表的HKEY_LO-C AL_MAC HIN E SYS TEMCurrentControlS etS ervic es位置中。但作为一个Web系统需要Window s服务并且需要修改注册表假设需要更新系统还得又要更新服务这样就没有发挥Web系统的优势。
ASP.NET系统里能怎样做定时类的功能利用Global.asax中的App lic ation_Start事件和System.Timers类。Global.as ax文件也称作ASP.NET应用程序文件是可选文件包含用于响应ASP.NET引发的应用程序级别事件的代码。Global.as ax文件驻留在基于ASP.NET的应用程序的根目录中。在运行时分析Global.as ax文件并将其编译到一个动态生成的.NETFramework类该类是从HttpApplic ation基类派生的。Global.asax文件本身被配置为自动拒绝对它的任何直接URL请求外部用户无法下载或查看在该文件中编写的代码。void App lication_Start(object sender EventArgse)事件在应用程序开始前调用只要该WE B系统开始运行该事件就先触发定时触发的判断就可以加在里面。 T im er组件是基于服务器的计时器它使您能够指定在应用程序中引发Elapsed事件的周期性间隔然后可
以操控此事件以提供定期处理。void Application_Start(object sender EventArgs e)
{
System.Timers.Timer t=new System.Timers.Timer(60000) //定义timer并设定其周期时间 1000为1秒t.Elaps ed+=new System.Timers.Elaps edEventHandler(OnTimedEv ent) //定时调用处理事件t.Enab le d=true
}private static void OnTimedEvent(object source System.Timers.ElapsedEventArgs e)
{
System.DateTime dt=System.DateTime.Nowif(dt.Ho ur==0&&dt.Minut e>=0&&dt.Minut e
hostkvm在2021年3月新上线洛杉矶新VPS业务,强制三网接入中国联通优化线路,是当前中美之间性价比最高、最火热的线路之一,性价比高、速度非常好,接近联通AS9929和电信AS4809的效果,带宽充裕,晚高峰也不爆炸。 官方网站:https://hostkvm.com 全场优惠码:2021(全场通用八折,终身码,长期) 美国 US-Plan0【三网联通优化线路】 内存:1G CPU:...
快快CDN主营业务为海外服务器无须备案,高防CDN,防劫持CDN,香港服务器,美国服务器,加速CDN,是一家综合性的主机服务商。美国高防服务器,1800DDOS防御,单机1800G DDOS防御,大陆直链 cn2线路,线路友好。快快CDN全球安全防护平台是一款集 DDOS 清洗、CC 指纹识别、WAF 防护为一体的外加全球加速的超强安全加速网络,为您的各类型业务保驾护航加速前进!价格都非常给力,需...
易探云服务器怎么样?易探云是国内一家云计算服务商家,致力香港云服务器、美国云服务器、国内外服务器租用及托管等互联网业务,目前主要地区为运作香港BGP、香港CN2、广东、北京、深圳等地区。目前,易探云推出的国内云服务器优惠活动,国内云服务器2核2G5M云服务器低至330元/年起;成都4核8G/200G硬盘/15M带宽,仅1888元/3年起!易探云便宜vps服务器配置推荐:易探云vps云主机,入门型云...