发送基于.NET平台的邮件群发系统研究[精品资料]

邮件群发系统  时间:2021-01-31  阅读:()

基于.NET平台的邮件群发系统研究-精品资料

本文档格式为WORD,感谢你的阅读。

最新最全的学术论文期刊文献年终总结年终报告工作总结个人总结述职报告实习报告单位总结

摘要为了更好地实现邮件群发提出了利用委托机制实现客户端实时监控邮件的发送情况、利用多个发送者的轮询机制实现了发送的可靠性、利用反射机制实现了自适应不同数据库服务器的切换、利用多线程异步调用机制实现性能的提高、利用过滤机制分别处理格式不正确的发送者和接收者邮箱的设计思路。此研究保证了接收者只会接收一份相同邮件能实时反映邮件的发送情况具有实际借鉴价值。

关键词关键词 邮件群发实时监控反射机制

TP302A16727800 2013 011005002

0引言

邮件群发被广泛应用于电子商务和办公系统等领域中已成为提高企业竞争力和影响力的一种重要手段。 .NET环境下的System.Net.Mail命名空间包含用于将电子邮件发送到简单邮件传输协议 SMTP 服务器进行传送的类其中MailMessage类表示邮件的内容 SmtpClient类将电子邮件传输到指定用于邮件传送的SMTP主机 Attachment类用于创建邮件附件。文献[2-6]主要研究了如何实现邮件群发但是对于邮件群发的可靠性和实时监控等方面涉及较少。本文提出了“委托+轮询+反射+异步+过滤”等机制实现了邮件群发的实际需求。

1利用委托实现实时监控

实时监控就是要在邮件群发过程中实时反映邮件发送状况包括发送进度、 已经发送个数、需发总数、失败个数信息发送完毕后弹出结果消息框具体情况如图1所示。

图1邮件发送及实时监控界面

由于系统采用表示层、业务层和数据访问层三层架构而邮件发送是在业务层实现和调用的那么如何在业务层调用的位置去实时控制表示层的相关进度控件呢解决办法就是利用委托实现回调 回调的方法在界面层注册实现可以实时控制界面进度控件。而回调的触发事件通过发送邮件的方法调用具体思路如图2所示。

图2委托实现实时监控

2利用轮询实现可靠性

可靠性指要保证每个接收者能接收到并且只会接收一份相同邮件。当进行邮件群发的时候 邮件服务器可能来不及接收或者以为是垃圾邮件拒绝接收。本文采用了两种解决措施一是使用多个发送者减少被邮件服务器认为垃圾邮件的可能性二是对发送失败的邮件可以继续不断发送。两种措施都需要进行轮询发送每个发送者按周期T发送给T个接收者接着下一个发送者发送直至所有接收者都被发送一次发送完毕。对于失败的邮件也是这样轮询发送。算法思路如图3所示失败邮件发送如图4所示。

3利用反射机制实现自适应不同数据库服务器切换邮件的发送者和接受者信息都存放在数据库中而不同客户可能使用不同的数据库服务器需要考虑数据库服务器的可移植性如从SqlServer切换成Oracle这主要通过反射机制来实现。 IDAL组件中定义了数据访问接口 SQLServerDAL和OracleDAL等组件是依据不同的数据库服务器对IDAL的具体实现而具体实现依赖DBUtility组件该组件中包含了SQLServerHelper和OracleHelp等具体数据库服务器引擎组件代码 DALFactory工厂组件利用反射机制、配置文件和静

态工厂模式动态产生数据访问组件对象设计思路如图5所示。

利用反射机制实现的主要代码如下namespace DALFactory{public sealed class DataAccess {private static readonly string path =

ConfigurationManager.AppSettings["DALAssembly"] public static IDAL. IEmail CreateEmail   {string className=path+".Email"return IDAL. IEmail Assembly.Load

path .CreateInstance className 

} …

图5反射机制实现数据库服务器切换

4其它

为了提高邮件群发的性能使用了异步调用发送机制在邮件发送完毕的回调方法中实现对界面进度条的回调。

//注册异步发送的回调方法client.SendCompleted += new

SendCompletedEventHandler client_SendCompleted 

AsyncArgs asyncArgs= new AsyncArgs   asyncArgs. emailData = emailDataasyncArgs. cpBar = cpBarclient.SendAsync message asyncArgs  //异步发送邮件static void client_SendCompleted objectsender

System.ComponentModel.AsyncCompletedEventArgse {

AsyncArgs asyncArgs = AsyncArgs e.UserStateif e.Error == null {

//发送成功处理}

else {

//发送失败处理}asyncArgs. cpBar.BarChange    //事件触发 回调winform中订阅方法

过滤机制主要使用正则表达式对发送和接收邮件的格式进行验证若发送邮件格式错误则在数据库中打上错误标记处理下一个发送者并在发送失败邮件功能中不再使用该发送者若是接收邮件格式错误也打上标记并回调界面进度条处理下一个接收者。

5结语

邮件群发首先要考虑发送的可靠性避免接收者没有收到或者多收邮件。虽然系统使用轮询机制进行了处理但是通过企业自己的邮件服务器发送效果会更好。

阅读相关文档:基于单片机的三相正弦波发生器设计 基于结构矩阵软的件需求变化追溯方法研究 最严格水资源管理制度的和谐论解读 从活动理论框架看我国协作学习模式发展 基于综合性研究视角的数字图书馆价值探析大学生社交网络应用现状调查研究 领域本体支持下的语义查询扩展研究基于互联网技术与可靠度理论的教学管理实证分析与应用研究 Flash中无法导入声音的解决办法研究 一种高效率的.NET平台Excel文件控制方法专家评价网络信息服务平台构建研究 《数据结构》学习方法探析 南水北调中线明渠工程运行风险评价方法研究 国际物流集团数据交换平台架构与实现 基于Flex技术的信息展示平台应用研究

最新最全【学术论文】 【总结报告】 【演讲致辞】 【领导讲话】 【心得体会】【党建材料】 【常用范文】 【分析报告】 【应用文档】 免费阅读下载

*本文收集于因特网所有权为原作者所有。若侵犯了您的权益请留言。我将尽快处理多谢。 *

paypal$10的代金券,选购美国VPS

paypal贝宝可撸$10的代金券!这两天paypal出了活动,本次并没有其他的限制,只要注册国区的paypal,使用国内的手机号和62开头的银联卡,就可以获得10美元的代金券,这个代金券购买产品需要大于10.1美元,站长给大家推荐几个方式,可以白嫖一年的VPS,有需要的朋友可以看看比较简单。PayPal送10美元活动:点击直达活动sfz与绑定卡的号码可以重复用 注册的邮箱,手机号与绑的银联卡必须...

亚洲云-浙江高防BGP.提供自助防火墙高防各种offer高防BGP!

 亚洲云Asiayun怎么样?亚洲云Asiayun好不好?亚洲云成立于2021年,隶属于上海玥悠悠云计算有限公司(Yyyisp),是一家新国人IDC商家,且正规持证IDC/ISP/CDN,商家主要提供数据中心基础服务、互联网业务解决方案,及专属服务器租用、云服务器、云虚拟主机、专属服务器托管、带宽租用等产品和服务。Asiayun提供源自大陆、香港、韩国和美国等地骨干级机房优质资源,包括B...

ZJI:香港物理服务器,2*E5-2630L/32G/480G SSD/30Mbps/2IP/香港BGP,月付520元

zji怎么样?zji是一家老牌国人主机商家,公司开办在香港,这个平台主要销售独立服务器业务,和hostkvm是同一样,两个平台销售的产品类别不一平,商家的技术非常不错,机器非常稳定。昨天收到商家的优惠推送,目前针对香港邦联四型推出了65折优惠BGP线路服务器,性价比非常不错,有需要香港独立服务器的朋友可以入手,非常适合做站。zji优惠码:月付/年付优惠码:zji 物理服务器/VDS/虚拟主机空间订...

邮件群发系统为你推荐
2014年万圣节是几月几日万圣节是几月几日机械表和石英表哪个好机械表好还是石英表好,看专家如何分析二手车网站哪个好卖二手车网站哪个好ps软件哪个好PS哪一款软件比较好用呢游戏盒子哪个好请问游戏盒子哪个好啊加速器哪个好主流加速器哪个好尼康和佳能单反哪个好入门的单反相机 佳能和尼康哪个好?美国国际东西方大学你知道美国哪些大学有预科课程吗辽宁联通营业厅请问辽宁鞍山最大的联通营业厅在哪google广告申请Google广告用户申请有何绝招?
深圳网站空间 美国主机网 realvnc 2017年黑色星期五 lamp配置 卡巴斯基官方免费版 合租空间 最好的免费空间 徐正曦 双十一秒杀 中国网通测速 架设邮件服务器 web应用服务器 后门 聚惠网 什么是dns 低价 火山互联 nano 堡垒主机 更多