基于J的电子邮件系统的设计与实现

更新时间:2024-03-16 作者:用户投稿原创标记本站原创 点赞:33628 浏览:156244

摘 要:论文介绍的电子邮件系统,以MyEclipse作为开发平台,基于J.系统包括以下八个大模块:登陆模块;邮件发送模块;邮件接收模块;邮件阅读模块;邮件处理模块;邮件退出模块;邮件回复模块;邮件转寄模块.该系统主要是采用TP和POP协议来达到收发邮件的.同时增加了一般邮件系统所没有的国际化功能,适于不同语言的人使用,让系统变得全球化.

关 键 词:J;国际化;TP;POP3

中图分类号:TP393文献标识码:A文章编号:1009-3044(2013)24-5433-03

自从电子邮件进入人们的生活,人们对传统的信件已经不再依赖,它的可靠、快速、方便、灵活、廉价、内容丰富等特点都使人们更加喜欢和接受它.近年来,电子邮件飞速发展,可以看到在比较专业、怎么写作比较全面周到的网站基本上都有免费电子邮件怎么写作.它们大部分都是通过各种软件进行开发的.而在当今很流行的Ja技术中就包含有JaMailAPI,它提供了大量的类和接口实现网络邮件传输.本次设计就是利用Ja技术来实现邮件发送和接收的功能,以开发一个属于自己的邮件系统.

1相关技术与开发平台

整个系统开发完全采用MVC模式,开发平台为Ja平台,以Tomcat为J引擎和Web怎么写作器.J是基于Ja的Web应用开发领域里提供了的一个可重用、可扩展、基于组件、工具友好的怎么写作器端UI框架.在支持J的RAD开发工具中,人们可以像使用VisualStudio.NET一样方便快捷地构建Web用户界面,大大降低了利用Ja技术实现Web用户界面的难度,提高了开发效率.

2系统功能分析

用户要进入系统首先必须登录系统,登录后即可阅读邮件、回复邮件、撰写新邮件、转发邮件等.不仅可以发送文本,还可以发送附件等信息.

该系统的总体用例图如图2所示.

3系统部分功能的实现与程序的编制

系统主要有八大功能模块分别为:登录模块、邮件发送模块、邮件接收模块、邮件阅读模块、邮件回复模块、邮件转寄模块和退出模块.系统使用JaMail的核心类来实现这些功能.

3.1邮件发送模块

进入系统后的界面,在这个界面当中显示了系统的邮件列表,其界面如图3所示.

在介绍发送模块之前先说下写邮件,在这需要使用MailBasisBean,因为发送模块要调用这个类,也只有写好信才能发送.在MailBasisBean中设置了主题subject,发信人,收信人,暗送,抄送,回复,附件的属性.同时还有添加附件的功能,只要附件的名字不为空,通过mbp.setContent设置好内容,可以添加附件其代码如下所示:

MimeBodyPartmbp等于newMimeBodyPart();

mbp.setContent(upFile.getBytes(),upFile.getContentType());

mbp.setDataHandler(newDataHandler(new

ByteArrayDataSource(upFile.getBytes(),

upFile.getContentType())));

attachments.add(mbp);

写好邮件,就是发送了,在这个过程中用到的类是Transport.若发送安全连接的信息直接用Send()发送信息,Transport.send(mm);

3.2邮件处理模块

这个模块当中主要是删除邮件,首先判断邮件列表里是否有邮件,若没邮件则返回列表,有列表就可以选择性的删除,邮件前面打个勾就可以删除想要删除的信件,如果想全删,就直接全选邮件就可以全部删除了.下面是其主要代码:

FacesContextfacesContext等于FacesContext.getCurrentInstance();

FolderWrapperBeanfolderWrapper;

intmessageNumbersOfSelectedDisplayMessages[];


MailboxConnectionmailboxConnection;

StringcurrentMailboxFolder;

folderWrapper等于(FolderWrapperBean)getManagedBeanByName("folderWrapperBean");

messageNumbersOfSelectedDisplayMessages等于folderWrapper.getMessageNumbersOfSelectedDisplayMessages();

if(messageNumbersOfSelectedDisplayMessages.length<1)

mailboxConnection等于getMailboxConnection();

currentMailboxFolder等于getCurrentMailboxFolder();

mailboxConnection.login(currentMailboxFolder);

mailboxConnection.setMultipleDeletedFlags(messageNumbersOfSelectedDisplayMessages);

SessionContainerBeansessionContainer等于(SessionContainerBean)getManagedBeanByName("sessionContainerBean");

sessionContainer.setRenewEnvelopes(true);

assureCorrectOffset(folderWrapper,sessionContainer,essageNumbersOfSelectedDisplayMessages);

3.3邮件回复模块

回复模块就是调用发送模块,在这可以回给一个人,也可以回给多个人,具体实现的代码如下:

MailBasisBeanmailBasis等于(MailBasisBean)getManagedBeanByName("mailBasisBean");

DisplayMessageBeandisplayMessage等于(DisplayMessageBean)getManagedBeanByName("displayMessageBean");

ReactionMailBasisAssembler.refurbishGivenResponseMailBasis(mailBasis,displayMessage,responseToAll);

回复的信件在列表当中会显示出来那个“Re:”标上如图5所示:

以上是一个简单的邮件系统的实现过程,通过使用Ja技术中的JaMailAPI,很容易开发出一个属于自己的电子邮件系统.

相关论文范文