90%使用WebDAV开发的Exchange邮件管理——前言
用Lotus来开发企业应用程序,无论B/S还是C/S结构,邮件都是及其重要的应用,甚至部分功能的实现,都是以邮件为基础。例如基于邮件的工作流自动化,就是通过邮件将数据表单或数据表单连接从一个人邮箱传送到另一个人邮箱。而在.Net的项目中,工作一年来,我基本上都是在做类似OA的半成品,一般情况都是:作为政府公务员的客户无法提供需求,另一方面要求的项目时间紧,预算有限,各方面资源不足,小组成员普遍经验不足。因此,邮件都是可有可无的装饰品,就像我在那篇《Exchange"单点登陆" 》里所讲的“都是每次要用或准备用的时候,猛的上来刨一阵子”,一个人花个两三天的时间。当然,很多时候完全可以基于Exchange做二次开发的OA,或者在OA中采用轻量级的组件、.Net的Mail类等来做邮件,我个人认为这是方案选型的问题,只是我们没有做好。
最初,之所以用Exchange,仅仅是因为刚工作做的第一个项目中,项目经理决定用。而且是这样用的:在OA中,得到有多少新邮件数目,作为提示。然后,通过连接,进入OWA。于是,在没有技术积累、知识库的环境下,基于项目管理的三个维度,时间、范围、成本的考虑下,上述情况的制约下,以后也就这样来用了。至于传说中的第四维,呵呵,反正绝大部分客户啥都不懂。
终于,这次公司内部演示的时候,老总提出了更高的要求,连到OWA,看起来是在两个系统,我们还是把邮件的收发都集成到OA里来吧。其实我也正有此意,一方面可以好好的学下Exchange的开发,另一方面在我看来单点登陆的验证还不算完全解决,要改浏览器的设置,还是程序吗?时间嘛,虽然已经超期,但客户那边需求文件都还没有看完签字(要求是从立项到交付周期三个月,涉及审批的工作流程都不下二、三十个)。“我们”,完全就是指我了。公司比较有经验的人手全部在做另一个大型项目,这个大,主要是金额上;于是我就负责了据说是公司的另一半资源,当然这一半资源,都是新生力量。
以前开发的环境,是Windows Server 2000和Exchange 2000,主要是用CDO来做,问题也都算解决过。但是当时部署的环境是两个2003,除了发邮件的代码,将应用程序调成ExchangeApplicationPool后,可以使用,其他的都Over掉了,而且死因不明。因此,对CDO这东西,我一直抱有极大的戒心,并且在以后的过程中,都尽量的使用WebDav。
开发环境:.Net FrameWork1.1,Windows Server2000,Exchange2003
使用语言及技术:C#,XmlHttp,JavaScrpt,Html
参考资料:Exchange2003 SDK
Exchange2000应用程序开发经典-Scott Jamison Ales Gomez等著-贾建平译-清华大学出版社