当前位置:文档之家› 基于JavaMail的电子邮件系统_的设计与实现毕业论文

基于JavaMail的电子邮件系统_的设计与实现毕业论文

青岛理工大学毕业设计(论文)

青岛理工大学

毕业设计(论文)

题目基于JavaMail的电子邮件系统

的设计与实现

I

青岛理工大学毕业设计(论文)

毕业设计(论文)原创性声明和使用授权说明

原创性声明

本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:日期:

指导教师签名:日期:

使用授权说明

本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:

II

青岛理工大学毕业设计(论文)

III

青岛理工大学毕业设计(论文)

学位论文原创性声明

本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。

作者签名:日期:年月日

学位论文版权使用授权书

本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:日期:年月日

导师签名:日期:年月日

IV

青岛理工大学毕业设计(论文)

摘要

本文主要阐述了基于javamail电子邮件系统的设计与实现,较为系统地介绍了电子邮件用户的登录、收发电子邮件、邮件目录操作、邮件群发、通讯录建立与维护等功能。邮件服务器按照提供的服务类型,可以分为发送邮件服务器(简称发送服务器)和接收邮件服务器(简称接收服务器)。发送邮件服务器使用邮件发送协议,现在常用的是SMTP,所以通常发送邮件服务器也称为SMTP服务器;接收邮件服务器使用接收邮件协议,常用的有POP3协议和IMAP协议,所以通常接收邮件服务器也称为POP3服务器或IMAP服务器。

本系统基于JavaMial API采用B/S设计结构。使用Apache Tomcat做为WEB 服务器和JSP Servlet的容器。JDK中并不包含JavaMail API。为了开发JavaMail 应用程序,需要从SUN公司的网站下载JavaMail API及其实现的类库,该类库由两个JAR文件组成: mail.jar和activation.jar。

本系统分析中给出了电子邮件服务器和电子邮件客户端的简介,同时给出了本次试验中客户端的主要功能和总体框图。

关键词:JavaMail,电子邮件服务器,电子邮件客户端

V

青岛理工大学毕业设计(论文)

ABSTRACT

This paper mainly discusses javamail E-mail system based on the design, realization and systematically introduces the email login, email, mail, E-mail group operating directory, contacts the establishment and the maintenance etc. Function. Mail server according to provide service type, can be divided into the email server (referred to send and receive E-mail servers server) (hereinafter referred to as the receiving server). Send mail server use email to send agreement, now commonly used is so often send e-mails SMTP server is also called SMTP server, Receiving mail server use E-mail agreement, commonly have POP3 and IMAP protocol, so usually receive E-mail server also called POP3 server or IMAP server.

This system based on B/S JavaMial API using structure design. Use a WEB server and I can with Apache Tomcat Servlet JSP containers. Does not contain JavaMail JDK API. In order to develop JavaMail applications, need to download from the web from JavaMail API and realize the class library, library consists of two components: the JAR file activation and E-mail. J JAR JAR.

This system are analyzed in the email server and email client introduction is given, and the main functions of the client and the overall diagram.

KEY WORD S: JavaMail, E-mail server, Email client

VI

青岛理工大学毕业设计(论文)

目录

第1章前言 ....................................... 错误!未定义书签。

1.1 概述........................................ 错误!未定义书签。

1.2 国内现状.................................... 错误!未定义书签。

1.3 系统特点.................................... 错误!未定义书签。第2章需求分析 .................................... 错误!未定义书签。

2.1 产品可行性分析.............................. 错误!未定义书签。

2.2 产品功能需求分析............................ 错误!未定义书签。

2.2.1 系统总体功能 ........................................................ 错误!未定义书签。

2.2.2电子邮件系统收发邮件的过程 ............................. 错误!未定义书签。第3章总体设计 .................................... 错误!未定义书签。

3.1 本系统的总体分析模型(类图):.............. 错误!未定义书签。

3.2 系统模块的划分.............................. 错误!未定义书签。第4章详细设计 .................................... 错误!未定义书签。

4.1 登录模块.................................... 错误!未定义书签。

4.2 接收邮件和附件模块.......................... 错误!未定义书签。

4.3 发送和回复邮件模块.......................... 错误!未定义书签。

4.4 邮件处理模块................................ 错误!未定义书签。

4.5 邮件文件夹管理模块.......................... 错误!未定义书签。第5章系统功能编码的实现 .......................... 错误!未定义书签。

5.1 服务器的安装和配置.......................... 错误!未定义书签。

5.2 客户端的实现................................ 错误!未定义书签。第6章系统功能测试 ................................ 错误!未定义书签。

6.1 登录和注销模块的测试:...................... 错误!未定义书签。第7章结论与展望 .................................. 错误!未定义书签。

7.1 结论........................................ 错误!未定义书签。

7.2 展望........................................ 错误!未定义书签。

VII

青岛理工大学毕业设计(论文)

致谢 ............................................... 错误!未定义书签。参考文献 .......................................... 3错误!未定义书签。

VIII

青岛理工大学毕业设计(论文)

第1章前言

1.1 概述

电子邮件(简称E-mail)又称电子信箱、电子邮政,它是一种用电子手段提供信息交换的通信方式。它是全球多种网络上使用最普遍的一项服务。这种非交互式的通信,加速了信息的交流及数据传送,它是一个简易、快速的方法。通过连接全世界的Internet,实现各类信号的传送、接收、存贮等处理,将邮件送到世界的各个角落。到目前为止,可以说电子邮件是Internet资源使用最多的一种服务,E-mail不止局限于信件的传递,还可用来传递文件、声音及图形、图像等不同类型的信息。

电子邮件不是一种“终端到终端”的服务,是被称为“存贮转发式”服务。这正是电子信箱系统的核心,利用存贮转发可进行非实时通信,属异步通信方式。即信件发送者可随时随地发送邮件,不要求接收者同时在场,即使对方现在不在,扔可将邮件立刻送到对方的信箱内,且存储在对方的电子邮箱中。接收者可在他认为方便的时候读取信件,不受时空限制。

1.2 国内现状

电子邮件E-mail是Internet最基本的和最重要的服务之一。据统计,Internet 上百分之三十以上的业务量是电子邮件。由于我国的通讯基础设施较差,网络速度较慢,因而,与Internet其它功能如WWW、FTP、NEWS等相比,电子邮件服务具有更大的实用性。《CINNIC中国互联网络发展状况统计报告》中指出。71.65%的中国用户最常使用的网络服务就是电子邮件,这个比例远远高于搜索引(50.40%)和软件上传或下载服务(44.16%)等其他服务。

1.3 系统特点

本系统分析中给出了电子邮件服务器和电子邮件客户端的简介,同时给出了本次试验中客户端的主要功能和总体框图。

邮件服务器按照提供的服务类型,可以分为发送邮件服务器(简称发送服务

1

青岛理工大学毕业设计(论文)

器)和接收邮件服务器(简称接收服务器)。

发送邮件服务器使用邮件发送协议,现在常用的是SMTP,所以通常发送邮件服务器也称为SMTP服务器;

接收邮件服务器使用接收邮件协议,常用的有POP3协议和IMAP协议,所以通常接收邮件服务器也称为POP3服务器或IMAP服务器。

SMTP(Simple Mail Transfer Protocol),即简单邮件传输协议,是Internet传送E-mail的基本协议,也是TCP/IP协议组的成员。

SMTP协议解决邮件系统如何通过一条链路,把邮件从一台机器传送到另一台机器上的问题。

SMTP协议的特点是具有良好的可伸缩性,这也是它成功的关键。它既适用于广域网,也适用于局域网。

SMTP协议由于非常简单,使得它得到了广泛的运用,在Internet上能够发送邮件的服务器几乎都支持SMTP协议。

POP3(Post Office Protocol 3),即邮局协议第3版,是Internet接收邮件的基本协议,也是TCP/IP协议组的成员。RFC1939描述了POP3协议,网址为“https://www.doczj.com/doc/9216766935.html,/rfc/rfc1939.txt”。

POP3既允许接收服务器向邮件用户发送邮件,也可以接收来自SMTP服务器的邮件。

邮件客户端软件会与POP3服务器交互,下载由POP3服务器接收到的邮件。基于POP3协议的邮件系统能提供快速、经济和方便的邮件接收服务,深受用户的青睐。

IMAP(Internet Message Access Protocol),即互联网消息访问协议,是一种功能比POP3更强大的新的接收邮件协议。目前最新的IMAP协议版本为IMAP4,RFC2060描述了IMAP4,网址为“https://www.doczj.com/doc/9216766935.html,/rfc/rfc2060.txt”。

IMAP4与POP3协议一样提供了方便的下载邮件服务,允许用户在脱机状态下阅读已经下载到本地硬盘的邮件。但IMAP4的功能远远不只这些,它还具有以

2

青岛理工大学毕业设计(论文)

下功能:

摘要浏览邮件的功能。

选择性下载附件的功能。

鼓励用户把邮件一直存储在邮件服务器上。

允许用户把远程邮件服务器上的邮箱作为信息存储工具。

MIME(Multipurpose Internet Mail Extensions,多用途Internet邮件扩充标准)不是邮件传输协议,而是对邮件格式所作的规范。

RFC2045、RFC2046和RFC2047对MIME作了描述。

MIME是对RFC822的扩充,RFC822规定了内容只包括采用ASCII编码的纯文本的邮件的格式,而MIME允许在邮件中包含附件。

3

青岛理工大学毕业设计(论文)

4

第2章 需求分析

2.1 产品可行性分析

整个电子邮件系统的工作过程及一些涉及到的协议如下图所示:

图2.1 电子邮件系统工作过程图

电子邮件系统包含:电子邮件服务器端和电子邮件客户端。

SUN 公司制定了JavaMail API ,它封装了按照各种邮件通信协议,如IMAP 、POP3和SMTP ,与邮件服务器通信的细节,为Java 应用程序提供了收发电子邮件的公共接口,参见下图:

图2.2 收发邮件的接口图

青岛理工大学毕业设计(论文)

5

JavaMail API 主要位于javax.mail 包和javax.mail.internet 中,下图为其中主要类的类框图。

图2.3 程序中主要类的类框图

1. javax.mail.Session 类:表示邮件会话,是JavaMail API 的最高层入口类。

2.javax.mail.Store 类:表示接收邮件服务器上的注册用户的存储空间,通过Store 类的getFolder()方法,可以访问用户的特定邮件夹。

3. javax.mail.Folder 类:代表邮件夹。

4. javax.mail.Message 类:代表电子邮件。

5. javax.mail.Address 类:代表邮件地址。

6. javax.mail.Transport 类:根据指定的邮件发送协议(通常是 SMTP ),通过指定的邮件发送服务器来发送邮件。

青岛理工大学毕业设计(论文)

2.2 产品功能需求分析

2.2.1 系统总体功能

图2.4 系统总体功能图

2.2.2电子邮件系统收发邮件的过程

图2.5 收发邮件过程图

(1)发信人调用用户代理来编辑要发送的邮件。用户代理用SMTP 把邮件传送给发送端邮件服务器。

(2)发送端邮件服务器将邮件放入邮件缓存队列中,等待发送。

6

青岛理工大学毕业设计(论文)

(3)运行在发送端邮件服务器的SMTP 客户进程,发现在邮件缓存中有待发送的邮件,就向运行在接收端邮件服务器的SMTP 服务器进程发起TCP 连接的建立。

(4)T CP 连接建立后,SMTP 客户进程开始向远程的SMTP 服务器进程发送邮件。当所有的待发送邮件发完了,SMTP 就关闭所建立的TCP 连接。

(5)运行在接收端邮件服务器中的SMTP 服务器进程收到邮件后,将邮件放入收信人的用户邮箱中,等待收信人在方便时进行读取。

收信人在打算收信时,调用用户代理,使用POP3(或IMAP)协议将自己的邮件从接收端邮件服务器的用户邮箱中的取回(如果邮箱中有来信的话)。

7

青岛理工大学毕业设计(论文)

8

第3章 总体设计

3.1 本系统的总体分析模型(类图):

图3.1 系统的总体分析模型图

该类图中包含了两个类:PMessage 和MailUserData 。其中PMessage 类对Message 类的重新封装,提供更方便的读取邮件信息的方法。例如,在Message 类中读取邮件地址的方法,如getTo()方法返回Address[]类型,如果要把它显示到网页上,必须把Address 数组转化为对应的字符串。PMessage 的构造方法PMessage 对Message 数据重新封装。JSP 网页调用PMessage 的getTo 方法可以直接获得字符串类型的地址。MailUserData 类用来存放用户的相关信息,还有对邮件文件夹操作的一些方法的定义,还有邮件管理的一些操作的定义,例如:发送邮件,删除邮件等。

3.2 系统模块的划分

按照本系统的总体功能划分,可以将这个电子邮件系统分成5大模块,首先是登录模块,作为验证需要;其次是接收邮件和附件模块,该模块负责邮件的接收,有的是以附件形式接收的,再次是发送和回复模块,该模块负责该对方发送邮件,有的还是以附件形式发送的;接着是邮件处理模块,该模块负责邮件的阅

青岛理工大学毕业设计(论文)

读、保存和删除等操作;然后是邮件文件夹的管理,该操作负责邮件文件夹的新建、重命名和删除等操作。下面累出了本系统的模块体系,如图:

图3.2 系统模块体系图

9

青岛理工大学毕业设计(论文)

第4章详细设计

4.1 登录模块

登录模块主要有login.jsp完成,其中包括下图中的几部分。

(1)选择登录服务器,本系统采用了MerakMailSErvler公司提供的Mail 服务器使用版本。

(2)选择指定邮件地址和密码。在本系统中有所提供的Mail服务器创建了2个账户进行登录。必须选用正确的邮件地址和密码才可以登录,不然会报错。

登录模块的图示:

图4.1 登录模块图

4.2 接收邮件和附件模块

接收邮件和附件模块主要由showmessage.jsp文件完成,包括下图中的几个部分。

(1)接收邮件。一个邮件系统最基本的功能是能够接受发送的邮件。

(2)保存附件。如果对方是以附件的形式发送邮件给用户,那么用户在接收邮件时,必须先下载邮件,将其保存到本地机之后,才能阅读。

10

青岛理工大学毕业设计(论文)

接收邮件和附件模块的图示:

图4.2 接收邮件和附件模块图

4.3 发送和回复邮件模块

发送和回复邮件模块主要由compose.jsp文件完成,包括图中的几个部分。

(1)编写新邮件。该部分也是电子邮件系统中最基本的功能。

(2)上传附件。在编写邮件时,邮件内容可以以附件的形式发送,这样就需要先将附件上传到服务器,然后在发送给对方。

发送和回复邮件模块的图示:

图4.3 发送和回复邮件模块图

11

青岛理工大学毕业设计(论文)

4.4 邮件处理模块

邮件处理模块主要由listonefoldr.jsp文件完成,包括图中的几个部分。

(1)显示邮件列表。在登录后的首页中就以分页显示的形式列出了所有的邮件,便于管理。

(2)删除选中邮件。在选中删除的邮件后,可以单击该命令删除邮件。

(3)显示错误信息。在出现一些登录错误,删除错误,下载错误是,将显示不同的错误信息提示用户。

邮件处理模块的图示:

图4.4 邮件处理模块图

12

相关主题
文本预览
相关文档 最新文档