基于.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 = emailDataasyncArgs. cpBar = cpBarclient.SendAsync message asyncArgs //异步发送邮件static void client_SendCompleted objectsender
System.ComponentModel.AsyncCompletedEventArgse {
AsyncArgs asyncArgs = AsyncArgs e.UserStateif e.Error == null {
//发送成功处理}
else {
//发送失败处理}asyncArgs. cpBar.BarChange //事件触发 回调winform中订阅方法
过滤机制主要使用正则表达式对发送和接收邮件的格式进行验证若发送邮件格式错误则在数据库中打上错误标记处理下一个发送者并在发送失败邮件功能中不再使用该发送者若是接收邮件格式错误也打上标记并回调界面进度条处理下一个接收者。
5结语
邮件群发首先要考虑发送的可靠性避免接收者没有收到或者多收邮件。虽然系统使用轮询机制进行了处理但是通过企业自己的邮件服务器发送效果会更好。
阅读相关文档:基于单片机的三相正弦波发生器设计 基于结构矩阵软的件需求变化追溯方法研究 最严格水资源管理制度的和谐论解读 从活动理论框架看我国协作学习模式发展 基于综合性研究视角的数字图书馆价值探析大学生社交网络应用现状调查研究 领域本体支持下的语义查询扩展研究基于互联网技术与可靠度理论的教学管理实证分析与应用研究 Flash中无法导入声音的解决办法研究 一种高效率的.NET平台Excel文件控制方法专家评价网络信息服务平台构建研究 《数据结构》学习方法探析 南水北调中线明渠工程运行风险评价方法研究 国际物流集团数据交换平台架构与实现 基于Flex技术的信息展示平台应用研究
最新最全【学术论文】 【总结报告】 【演讲致辞】 【领导讲话】 【心得体会】【党建材料】 【常用范文】 【分析报告】 【应用文档】 免费阅读下载
*本文收集于因特网所有权为原作者所有。若侵犯了您的权益请留言。我将尽快处理多谢。 *
老薛主机,虽然是第一次分享这个商家的信息,但是这个商家实际上也有存在有一些年头。看到商家有在进行夏季促销,比如我们很多网友可能有需要的香港VPS主机季度及以上可以半价优惠,如果有在选择不同主机商的香港机房的可以看看老薛主机商家的香港VPS。如果没有记错的话,早年这个商家是主营个人网站虚拟主机业务的,还算不错在异常激烈的市场中生存到现在,应该算是在众多商家中早期积累到一定的用户群的,主打小众个人网站...
整理一下CloudCone商家之前推送的闪购VPS云服务器产品,数量有限,活动推出可能很快机器就售罄了,有需要美国便宜VPS云服务器的朋友可以关注一下。CloudCone怎么样?CloudCone服务器好不好?CloudCone值不值得购买?CloudCone是一家成立于2017年的美国服务器提供商,国外实力大厂,自己开发的主机系统面板,CloudCone主要销售美国洛杉矶云服务器产品,优势特点是...
RackNerd 商家我们应该是比较熟悉的商家,速度一般,但是人家便宜且可选机房也是比较多的,较多集中在美国机房。包括前面的新年元旦促销的时候有提供年付10美元左右的方案,实际上RackNerd商家的营销策略也是如此,每逢节日都有活动,配置简单变化,价格基本差不多,所以我们网友看到没有必要囤货,有需要就选择。RackNerd 商家这次2022农历新年也是有几款年付套餐。低至RackNerd VPS...