发送基于.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技术的信息展示平台应用研究

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

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

创梦云 香港沙田、长沙联通2核1G仅需29元一个月 挂机宝7元一个月

商家介绍:创梦云是来自国内的主机销售商,成立于2018年4月30日,创梦云前期主要从事免备案虚拟主机产品销售,现在将提供5元挂机宝、特惠挂机宝、香港云服务器、美国云服务器、低价挂机宝等产品销售。主打高性价比高稳定性挂机宝、香港云服务器、美国云服务器、香港虚拟主机、美国虚拟主机。官方网站:http://cmy0.vnetdns.com本次促销产品:地区CPU内存硬盘带宽价格购买地址香港特价云服务器1...

快云科技:香港沙田CN2云服务器低至29元/月起;美国高防弹性云/洛杉矶CUVIP低至33.6元/月起

快云科技怎么样?快云科技是一家成立于2020年的新起国内主机商,资质齐全 持有IDC ICP ISP等正规商家。云服务器网(yuntue.com)小编之前已经介绍过很多快云科技的香港及美国云服务器了,这次再介绍一下新的优惠方案。目前,香港云沙田CN2云服务器低至29元/月起;美国超防弹性云/洛杉矶CUVIP低至33.6元/月起。快云科技的云主机架构采用KVM虚拟化技术,全盘SSD硬盘,RAID10...

ProfitServer$34.56/年,5折限时促销/可选西班牙vps、荷兰vps、德国vps/不限制流量/支持自定义ISO

ProfitServer怎么样?ProfitServer好不好。ProfitServer是一家成立于2003的主机商家,是ITC控股的一个部门,主要经营的产品域名、SSL证书、虚拟主机、VPS和独立服务器,机房有俄罗斯、新加坡、荷兰、美国、保加利亚,VPS采用的是KVM虚拟架构,硬盘采用纯SSD,而且最大的优势是不限制流量,大公司运营,机器比较稳定,数据中心众多。此次ProfitServer正在对...

邮件群发系统为你推荐
火影忍者644火影忍者主线集数(400集-679集)求解!!!!桌面背景图片风景推荐个电脑桌面壁纸闪迪和金士顿哪个好tf卡闪迪和金士顿哪个更好压缩软件哪个好电脑常用压缩软件哪个好英语词典哪个好哪个英语词典好网络机顶盒哪个好什么牌子的网络机顶盒好用?美国国际集团美国AIG股票,值得长远投资吗??qq空间登录器QQ空间校友网页自动登陆器qq空间登录器怎样直接登录QQ空间空间登录页面登录QQ空间时,如何使登陆界面不直接进入个人中心?
国外vps 万网域名管理 东莞电信局 荷兰服务器 老鹰主机 jsp主机 cpanel 最好的空间 ca4249 个人域名 空间出租 双线主机 699美元 秒杀汇 adroit 南通服务器 网络空间租赁 免费phpmysql空间 hktv 申请网站 更多