简单邮件客户端设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《计算机网络》课程设计报告
题目:简单邮件客户端设计
学院:计算机科学与工程学院
专业:软件工程
2012年3月10日
目录
简单邮件客户端设计说明书 (1)
一前言 (1)
二需求分析 (1)
2.1 功能需求 (1)
2.2开发环境工具 (1)
2.3 所需要的知识 (2)
三概要设计 (2)
3.1 邮件系统各功能概述 (2)
3.1.1 JavaMail简介 (2)
3.1.2 设计目标 (3)
3.1.3 系统功能概述 (3)
3.2 邮件管理系统总体设计方案 (4)
3.2.1 系统体系结构 (4)
3.2.2 功能模块 (4)
3.3 系统开发的技术难点和解决方案 (5)
3.3.1 MIME Messsage的解析 (5)
3.3.2 邮件发送 (6)
3.3.3 系统性能问题 (6)
3.4 系统特点 (7)
3.5 系统具体设计 (7)
3.6 关键代码 (11)
3.7 结束语 (20)
简单邮件客户端设计说明书
一前言
随着互联网技术及网络办公化的发展,电子邮件成为人们主要的通信方式之一。越来越多的人开始使用它。而且用它的人数势必会继续增加。虽然,现在已经有很多的邮件收发软件例如著名的FoxMail ,但是对于大多数的非专业的人来说它还是有点难度。因此,我们所设计的基于JavaMail的邮件收发系统就利用JavaMail开发包的高级应用和E-Mail的相关协议开发出这个功能相对简单,但是实用、方便、快捷的邮件收发系统。主要用于帮助用户将邮件发送给SMTP服务器和从POP3邮件服务器读取用户的电子邮件。它集邮件的撰写、发送和接收功能与一体。并且支持附件的发送和接收以及其它一些附加功能的实现。虽然它没有FoxMail那么强大的功能,但是它容易掌握和使用。整个系统功能流畅,从操作简便、界面友好、灵活实用的要求出发,使用户之间的交流能够更加地方便和快捷。
本人结合SMTP以及POP3协议的实现原理、相关JavaMail API帮助文档以及相关参考书,实现了一个工作在PC下的邮箱客户端程序,该程序基本上实现了一个邮箱所对应的所有功能。
二需求分析
2.1 功能需求
(1)开发一个JavaMail API下的邮箱客户端,实现邮件的发送、接收以及。
(2)通过输入服务器地址、用户名、密码,可以实现远程FTP服务器登录。
(3)提供本地文件和文件夹的上传功能,对FTP主机文件进行下载和删除。
(4)提供对本地目录的读取与返回,能够列出文件和文件夹。
(5)FTP提供两种工作模式的选择,Port模式(主动模式)和Passive模式(被动模式)。
2.2开发环境工具
(1)使用编程工具:Eclipse
(2)使用的语言:Java
(3)使用的开发包:javamail-1_4版,下载地址为
/technetwork/java/javasebusiness/downloads/java-archive-do wnloads-eeplat-419426.html#javamail-1.4.4-oth-JPR
(4)开发平台:Mac OS X 10.6.8
2.3 所需要的知识
(1)计算机网络的基本知识
(2)了解SMTP协议以及POP3协议基本实现原理
(3)使用Windows下的Eclipse编译器的使用方法
(4)熟悉邮件的各项功能。
三概要设计
3.1 邮件系统各功能概述
3.1.1 JavaMail简介
JavaMail API是Java EE的一部分,是Java SE的可选组件。该组件提供了一个平台无关、协议独立的框架,预置了一些最常用的邮件传送协议的实现方法,通过一组API来模拟邮件系统。提供Email的发送和接收服务。它借鉴了IMAP、MAPI、CMC等消息系统API
的设计,采用面向对象的思想将接2008年4月18日收到接口与实现相分离,支持存取方式、消息格式、消息传送协议不同的邮件消息系统,可以简便的为应用程序增加Email支持,广泛应用于构件邮件和消息应用系统 JavaMail API封装了电子邮件功能中:邮件对象、发送、身份认证、接收等功能。其核心类有:Session、Authenticator Address Message Transport、Store、Folder等。其中Session是邮件操作的接口,用于建立了基本的邮件会话;Authenticator类提供访问邮件服务器所需的认证信息;Message描述基本的邮件消息,是收发邮件的操作单位;Transport是发送邮件时所用的协议,通常是SMTP;Store模拟了消息数据库及其内部存储消息的目录的访问协议;Folder用于描述消息数据库中的目录结构。一个Session会有多个Trans—
port,每个Store包含一系列的Folder和Message,每个Folder又包含一系列的Folder 和Message。借助这些类,就可以构建各种典型的邮件应用。JavaMail的最新实现是1.4
版本,可以支持POP3、IMAP4、SMTP协议。由于JavaMail还需要JavaBeans Activation Framework(JAF)框架的支持,
3.1.2 设计目标
公用邮箱是和外单位交互的主要渠道,用户获取和提交一些重要数据和文件,也是与本单位其它部门进行业务的信息交换的重要渠道。公用邮箱不仅有13常办公相关的各类邮件,还有很多其它种类的邮件。此外,一些与办公相关的邮件还会发送到工作人员的个人邮箱中。工作人员使用Fox.mail或其它邮件客户端将公用邮箱中的邮件从服务器下载至本地,然后进行处理。这样的工作模式存在的缺点有:邮箱中邮件太多,很难找到与工作相关的邮件,工作效率低下,存在潜在处理风险;工作人员都利用邮件客户端存储和处理邮件,造成资源浪费,且无法及时得悉邮件的处理情况,难以落实责任;难以对办公相关的邮件进行统一归档和备份,并提供检索、统计、数据分析等服务;邮件帐号分散管理,带来潜在的信息安全隐患。本系统的设计旨在解决这些问题,为工作人员提供一个基于Web的简洁、易用、安全可靠、功能完备的办公邮件处理平台。
3.1.3 系统功能概述
(1)邮件自动获取与过滤
系统每天实时或者在固定的时间,统一收集多个外部邮件服务上多个邮件帐号的新邮件后汇总在一起,并根据发送地址和过滤规则对邮件进行过滤,提取服务器上的有效邮件,通过人工干预或者自动化的机制将邮件基本信息存储在数据库中,附件存人文件服务器,对完全重复的邮件通过比对后只保留一份。
(2)邮件分类
对过滤后的有效邮件,按照制定好的分类规则,根据邮件主题、发件人信息、附件属性及关键词对邮件及其附件进行归类,并提供自动归类和人工干预后确定邮件类别两种灵活的类别确认机制。
(3)邮件提醒与处理
在邮件归类后,对于新邮件,系统通过与短信发送平台的接口,将发件人、发送时间、主题、优先级等信息以短信的形式发送给相应邮件类别的处理者。邮件处理者通过网页登陆系统,可以像使用Web邮箱那样,方便快捷的查阅和处理只属于自己需要处理的那些邮件。
(4)邮件管理
系统向用户提供邮件检索、删除、调整分类等功能。可以统一直观的对:信息过滤情况、信息分类跟踪、处理情况、审阅结果、处理者信息、反馈情