基于James技术的企业电子邮件附件过滤系统

2014-08-10 08:09:58赵彦
宜宾学院学报 2014年6期
关键词:电子邮件附件邮件

赵彦

(江苏信息职业技术学院物联网工程系,江苏无锡214000)

基于James技术的企业电子邮件附件过滤系统

赵彦

(江苏信息职业技术学院物联网工程系,江苏无锡214000)

随着互联网技术的飞速发展,电子邮件已经成为必备的网络服务之一.以Apache开源项目James框架作为邮件收发平台,My SQL完成后台数据库设计,使用基于Java EE技术的SaStruts框架实现的企业电子邮件附件过滤系统,能够智能区分企业内部邮件和外部邮件,解决邮件服务器上滞留大量附件的问题.

James;SaStruts框架;邮件附件过滤器;Java EE

基于James技术的企业电子邮件附件过滤系统,建立在James框架基础之上,使用Java技术对原有邮件服务器改造,对传输和存储在该服务器上的电子邮件附件按照企业需求进行过滤,使用Java EE技术SaStruts框架完成邮件浏览Web端的设计.整个项目是来自日本三菱电机株式会社的对日外包项目,已在日本三菱电机株式会社投入使用.该项目获得2012年江苏省大学生实践创新训练计划项目(2012JSSPITP3853)的资助,共分为两期进行,一期完成邮件附件过滤部分的设计,二期完成系统Web端的设计与开发.目前企业内部的邮件服务器一般不带有智能化的邮件处理和分析功能,时间一长,大量滞留在服务器上的传输文件,将给服务器带来巨大的负担[1-3].使用该项技术后,将为一大批企业解决邮件服务器数据冗余问题.

1 系统设计背景

James,Java Apache邮件服务器(Java Apache Mail Enterprise Server)技术由Apache组织开发,是一个轻便、安全、纯Java实现的SMTP和POP3邮件服务器.基于James开发的邮件服务器,可以具有NNTP新闻服务器的功能,同时James还是一个邮件应用平台.Apache组织开发了一套Java API、mialet API,利用该技术可以根据自己的需求,使用Java语言编写代码,对邮件进行个性化处理.mailet可以进行自动回复、更新数据库、阻止垃圾邮件、建立消息文档,以及任何用户可以提出和想到的功能.与mailet相关的消息适配器matcher,该消息适配器可以判断mailet是否要对服务器中的邮件进行处理.在本系统中,mailet与matcher[2,4]结合使用有效区分公司内部和公司外部邮件,并拦截公司内部邮件附件[3,5].

项目就是针对James框架,使用纯Java开发的邮件过滤器[2-5].根据企业要求,该过滤器系统具有严格、有效区分公司内部邮件和外部邮件的功能.将公司内部邮件的附件拦截下来放到服务器指定的位置上,能有效解决公司内部大量邮件附件在公司内部服务器上传输时产生的数据冗余问题.系统要求对公司外部邮件不作任何拦截,按照原始路径发给各个公司员工或公司外部人员,附件部分也不作任何处理.处理流程如图1所示.

图1 基于James企业邮件服务器的邮件过滤器邮件处理流程图

2 总体设计思路

整个项目分为三步设计,具体如下.(1)搭建基于James框架的邮件服务器

搭建基于James框架的邮件服务器,构建企业内部用户环境和企业外部用户环境.该服务器可以直接使用,也是成品之一.搭建好的邮件服务器相对于其它邮件服务器具有成本较低和性能可靠性更高的优点.同时该服务器将为后续项目开发作准备,提供测试环境.

(2)完成基于James邮件附件过滤器Jar包开发

基于James企业邮件附件过滤器的设计,将结合James框架技术、Java技术开发出具有智能化功能的邮件拦截、邮件筛选和邮件转发功能的邮件附件过滤器.并最终生成对应的Jar包.该系统具有智能化、自动化和使用方便的特点,用户几乎感觉不到其存在.有Jar包较强的实用价值和推广价值,也助于其他企业和单位邮件服务器的改造.

(3)完成本系统的Web端开发,实现预期功能

采用Java EE技术,使用日本三菱电机株式会社指定框架SaStruts,完成本系统对应的Web页面,构建邮件阅览平台.通过该平台,用户可以方便找到被拦截的附件,并获取邮件收发情况以及被阅览的情况.本设计不仅可以在模拟环境上运行,也可以进行有效推广.只要在任何一款加载了James框架的邮件服务器上进行该系统的配置,即可使用本项目的成果.

3 整体架构设计

本系统采用了Java EE四层开发模型进行整体架构设计[1].数据库层使用My SQL数据库进行设计,数据持久层、业务逻辑层与表示层均使用SaStruts框架来实现.这种模式采用标准的协议和技术,不受硬件平台和软件环境的限制.系统客户端采用基于Web技术的B/S架构,应用系统借用现成通用的网页浏览器作为统一的客户端用户界面,使用方便,便于普及.系统服务端采用Java语言和My SQL数据库技术,将所有应用程序安装在后台服务器中,这样便可以被每一种操作系统上的通用浏览器所浏览,实现了跨平台操作.

4 邮件附件过滤的具体实现

邮件附件过滤分为两部分实现.

(1)实现mailet用户定制类

mailet可以进行自动回复、更新数据库、阻止垃圾邮件、建立消息文档,以及任何用户提出和想到的功能.根据用户提出的业务规则,该系统的mailet用户定制类将完成邮件附件过滤的处理行为,就是将社内电子邮件的附件放置服务器指定位置.具体算法如下.

邮件各种属性的获取;recipients内容取得;

//邮件正文的修订

if(contentHTML){如果该邮件是HTML格式,按照改格式书写正文}

else{否则直接追加正文}

(2)实现machers用户定制类

与mailet相关的消息适配器matcher,该消息适配器可以判断mailet是否要对服务器中的邮件进行处理.根据用户的业务规则,该系统的matcher用户定制类将区分该邮件是否为社内邮件.社内邮件将完成邮件附件过滤,社外邮件将不进行过滤.具体算法如下.

//判断该邮件是否有附件

5 功能实现

根据项目需求,整套系统需要对指定的公司内部用户带有附件的邮件进行拦截,完成邮件附加文件的异地保存和下载工作.发信人可以查看发送的带有附件的邮件是不是已经被下载查收.收件人可以看到该邮件是否带有附件.如果是公司内部员工,可以通过链接直接到服务器上指定的公共区下载邮件附件,并启动公司内部邮件Web系统进行统一的邮件附件下载.如果是公司外部员工,将以常规模式发送邮件给对方.收件人和发信人可以通过页面查看自己邮箱中具体邮件的收发情况.

根据系统功能的要求,系统的业务逻辑包含图2所示的几个部分.

根据外包项目需求,数据表包括用户认证表、邮件地址表、邮件详细表、附件详细表和邮件列表5张表.根据客户的要求,表与表之间不涉及外键关联关系.

整个系统的模块结构图如图3所示.

带附件的公司内部邮件会被拦截,以Hama.shin@ mnd.co.jp给user1发送带附件的邮件为例,该邮件在改造后的CS版中的状态如图4所示.从图中可以看到,当发送带附件的邮件时,系统会拦截邮件的附件,并把附件放到服务器的指定地址,用户可通过访问url路径启动http请求查看邮件附件.此时就会调用Web页面.在 Web端查看该邮件的附件及正文的状态(如图5所示).

图2 系统业务逻辑关系图

图3 系统功能模块结构图

图4 带附件的公司内部邮件(CS版的接收状态)

图5 Web端查看邮件附件及正文

6 结语

基于James技术的企业电子邮件附件过滤系统的开发分两期进行,共历时半年,于2012年10月完成,从2012年年底试运行至今,获得日本三菱电机株式会社的一致认可,系统运行效果良好.以该系统为蓝本的2012年江苏省大学生实践创新训练计划项目已顺利结题,得到好评.整套系统投入使用后,减少了社内邮件附件冗余,提高邮件服务器的使用效率.该项技术可为一大批企业解决邮件服务器附件传输问题,具有较高的市场推广价值和实际应用价值.

[1]赵彦,顾晓燕,郭力子.Java EE框架技术进阶式教程[M].北京:清华大学出版社,2011.

[2]尹斌,江崇礼,董明.基于Java的Web邮件系统[J].计算机工程,2004 (7):183-184.

[3]朱玲.基于James的WebMail的设计与实现[J].农业网络信息,2007 (7):38-39.

[4]杨旭士.基于James技术的企业电子邮件系统设计与实现[J].计算机与现代化,2011(4):61-63.

[5]李改,潘维.基于James的邮件系统设计与实现[J].现代计算机,2009 (12):147-150.

【编校:李青】

Design and Implementation of E-Mail Filtering System for Enterprise Based on James Technology

ZHAO Yan
(Internet of Things Engineering Department,Jiangsu Information Technology Vocational College,Wuxi,Jiangsu 214000, China)

With the rapid development of Internet technology,e-mail has become one of the necessary network services.The email filtering system using James framework under Apache open source project as the mail platform,My SQL to design database and SaStruts framework based on Java EE technology to establish enterprise e-mail atttachment filtering system can distinguish between internal and external mail server and thus solve the problem of the retention of excessive attachments.

Java Apache Mail Enterprise Server;SaStruts Frame;Mail Attachment Filter;Java Enterprise Edition

TP393.098

A

1671-5365(2014)06-0111-04

2013-10-08修回:2013-12-27

2012年江苏省大学生实践创新训练计划立项项目(2012JSSPITP3853);江苏省现代教育技术研究2013年基金项目“Java EE网络精品课程建设的实践研究”(2013-R-26413);江苏省教育科学“十二五”规划课题重点资助项目“高职软件技术专业Java课程群网络教学平台的开发及应用研究”;2013年江苏省大学生实践创新训练计划立项项目(201313108012Y)

赵彦(1981-),女,讲师/工程师,硕士,研究方向为软件技术、计算机网络、数据库

时间:2013-12-30 11:57

http://www.cnki.net/kcms/detail/51.1630.Z.20131230.1157.001.html

猜你喜欢
电子邮件附件邮件
有关旅行计划的电子邮件
基于James的院内邮件管理系统的实现
附件三:拟制定的标准汇总表
来自朋友的邮件
关于TSG 07——2019附件M与TSG Z0004——2007内容的对照
一封邮件引发的梅赛德斯反弹
车迷(2018年12期)2018-07-26 00:42:32
新型武器及附件展呈
轻兵器(2017年3期)2017-03-13 19:15:42
附件 注释体例
民事诉讼电子邮件送达制度的司法适用
小测试:你对电子邮件上瘾了吗?
海外英语(2013年9期)2013-12-11 09:03:36