【精品毕业论文设计】电子邮件系统毕业论文_第1页
【精品毕业论文设计】电子邮件系统毕业论文_第2页
【精品毕业论文设计】电子邮件系统毕业论文_第3页
【精品毕业论文设计】电子邮件系统毕业论文_第4页
【精品毕业论文设计】电子邮件系统毕业论文_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、【精品毕业论文设计】电子邮件系统毕业论文 青岛理工大学 毕 业 设 计论 文题目 基于javamail的电子邮件系统的设计与实现学生姓名 许晨祎 指导教师 马国兵 计算机工程 学院网络工程专业061班 年 月 日摘 要本文主要阐述了基于javamail电子邮件系统的设计与实现较为系统地介绍了电子邮件用户的登录收发电子邮件邮件目录操作邮件群发通讯录建立与维护等功能邮件服务器按照提供的服务类型可以分为发送邮件服务器简称发送服务器和接收邮件服务器简称接收服务器发送邮件服务器使用邮件发送协议现在常用的是smtp所以通常发送邮件服务器也称为smtp服务器接收邮件服务器使用接收邮件协议常用的有pop3协议

2、和imap协议所以通常接收邮件服务器也称为pop3服务器或imap服务器本系统基于javamial api采用bs设计结构使用apache tomcat做为web服务器和jsp servlet的容器jdk中并不包含javamail api为了开发javamail应用程序需要从sun公司的网站下载javamail api及其实现的类库该类库由两个jar文件组成 mailjar和activationjar本系统分析中给出了电子邮件服务器和电子邮件客户端的简介同时给出了本次试验中客户端的主要功能和总体框图javamail电子邮件服务器电子邮件客户端abstractthis paper mainly

3、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 re

4、ferred 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 proto

5、col so usually receive e-mail server also called pop3 server or imap serverthis system based on bs 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 fro

6、m the web from javamail api and realize the class library library consists of two components the jar file activation and e-mail j jar jarthis system are analyzed in the email server and email client introduction is given and the main functions of the client and the overall diagramkey words javamail

7、e-mail server email client 目 录第1章 前 言111 概述112 国内现状113 系统特点1第2章 需求分析421 产品可行性分析422 产品功能需求分析6221 系统总体功能6222电子邮件系统收发邮件的过程6第3章 总体设计831 本系统的总体分析模型类图832 系统模块的划分9第4章 详细设计1041 登录模块1042 接收邮件和附件模块1143 发送和回复邮件模块1144 邮件处理模块1245 邮件文件夹管理模块12第5章 系统功能编码的实现1351 服务器的安装和配置1352 客户端的实现14第6章 系统功能测试1961 登录和注销模块的测试19第7章 结

8、论与展望3071 结论3072 展望30致谢31参考文献32第1章 前 言11 概述电子邮件简称e-mail又称电子信箱电子邮政它是一种用电子手段提供信息交换的通信方式它是全球多种网络上使用最普遍的一项服务这种非交互式的通信加速了信息的交流及数据传送它是一个简易快速的方法通过连接全世界的internet实现各类信号的传送接收存贮等处理将邮件送到世界的各个角落到目前为止可以说电子邮件是internet资源使用最多的一种服务e-mail不止局限于信件的传递还可用来传递文件声音及图形图像等不同类型的信息电子邮件不是一种终端到终端的服务是被称为存贮转发式服务这正是电子信箱系统的核心利用存贮转发可进行非

9、实时通信属异步通信方式即信件发送者可随时随地发送邮件不要求接收者同时在场即使对方现在不在扔可将邮件立刻送到对方的信箱内且存储在对方的电子邮箱中接收者可在他认为方便的时候读取信件不受时空限制12 国内现状电子邮件e-mail是internet最基本的和最重要的服务之一据统计internet上百分之三十以上的业务量是电子邮件由于我国的通讯基础设施较差网络速度较慢因而与internet其它功能如ftpnews等相比电子邮件服务具有更大的实用性cinnic中国互联网络发展状况统计报告中指出7165的中国用户最常使用的网络服务就是电子邮件这个比例远远高于搜索引5040和软件上传或下载服务4416等其他服

10、务13 系统特点本系统分析中给出了电子邮件服务器和电子邮件客户端的简介同时给出了本次试验中客户端的主要功能和总体框图邮件服务器按照提供的服务类型可以分为发送邮件服务器简称发送服务器和接收邮件服务器简称接收服务器发送邮件服务器使用邮件发送协议现在常用的是smtp所以通常发送邮件服务器也称为smtp服务器接收邮件服务器使用接收邮件协议常用的有pop3协议和imap协议所以通常接收邮件服务器也称为pop3服务器或imap服务器smtpsimple mail transfer protocol即简单邮件传输协议是internet传送e-mail的基本协议也是tcpip协议组的成员smtp协议解决邮件系

11、统如何通过一条链路把邮件从一台机器传送到另一台机器上的问题smtp协议的特点是具有良好的可伸缩性这也是它成功的关键它既适用于广域网也适用于局域网smtp协议由于非常简单使得它得到了广泛的运用在internet上能够发送邮件的服务器几乎都支持smtp协议pop3post office protocol 3即邮局协议第3版是 internet接收邮件的基本协议也是tcpip协议组的成员rfc1939描述了pop3协议网址为httpietforgrfcrfc1939txtpop3既允许接收服务器向邮件用户发送邮件也可以接收来自smtp服务器的邮件邮件客户端软件会与pop3服务器交互下载由pop3服务

12、器接收到的邮件基于pop3协议的邮件系统能提供快速经济和方便的邮件接收服务深受用户的青睐imapinternet message access protocol即互联网消息访问协议是一种功能比pop3更强大的新的接收邮件协议目前最新的imap协议版本为imap4rfc2060描述了imap4网址为httpietforgrfcrfc2060txtimap4与pop3协议一样提供了方便的下载邮件服务允许用户在脱机状态下阅读已经下载到本地硬盘的邮件但imap4的功能远远不只这些它还具有以下功能 摘要浏览邮件的功能选择性下载附件的功能鼓励用户把邮件一直存储在邮件服务器上允许用户把远程邮件服务器上的邮箱

13、作为信息存储工具mimemultipurpose internet mail extensions多用途internet邮件扩充标准不是邮件传输协议而是对邮件格式所作的规范rfc2045rfc2046和rfc2047对mime作了描述mime是对rfc822的扩充rfc822规定了内容只包括采用ascii编码的纯文本的邮件的格式而mime允许在邮件中包含附件整个电子邮件系统的工作过程及一些涉及到的协议如下图所示图21 电子邮件系统工作过程图电子邮件系统包含电子邮件服务器端和电子邮件客户端sun公司制定了javamail api它封装了按照各种邮件通信协议如imappop3和smtp与邮件服务器

14、通信的细节为java应用程序提供了收发电子邮件的公共接口参见下图javamail api主要位于javaxmail包和javaxmailinternet中下图为其中主要类的类框图图23 程序中主要类的类框图1 javaxmailsession类表示邮件会话是javamail api的最高层入口类2javaxmailstore类表示接收邮件服务器上的注册用户的存储空间通过store类的getfolder 方法可以访问用户的特定邮件夹 3 javaxmailfolder类代表邮件夹4 javaxmailmessage类代表电子邮件5 javaxmailaddress类代表邮件地址6 javaxma

15、iltransport类根据指定的邮件发送协议通常是 smtp通过指定的邮件发送服务器来发送邮件图24 系统总体功能图222电子邮件系统收发邮件的过程图25 收发邮件过程图发信人调用用户代理来编辑要发送的邮件用户代理用 smtp 把邮件传送给发送端邮件服务器发送端邮件服务器将邮件放入邮件缓存队列中等待发送运行在发送端邮件服务器的 smtp 客户进程发现在邮件缓存中有待发送的邮件就向运行在接收端邮件服务器的 smtp 服务器进程发起 tcp 连接的建立tcp 连接建立后smtp 客户进程开始向远程的 smtp 服务器进程发送邮件当所有的待发送邮件发完了smtp 就关闭所建立的 tcp 连接运行在

16、接收端邮件服务器中的 smtp 服务器进程收到邮件后将邮件放入收信人的用户邮箱中等待收信人在方便时进行读取收信人在打算收信时调用用户代理使用 pop3或 imap协议将自己的邮件从接收端邮件服务器的用户邮箱中的取回如果邮箱中有来信的话本系统的总体分析模型类图图31 系统的总体分析模型图该类图中包含了两个类pmessage和mailuserdata其中pmessage类对message类的重新封装提供更方便的读取邮件信息的方法例如在message类中读取邮件地址的方法如getto 方法返回address类型如果要把它显示到网页上必须把address数组转化为对应的字符串pmessage的构造方法

17、pmessage对message数据重新封装jsp网页调用pmessage的getto方法可以直接获得字符串类型的地址mailuserdata类用来存放用户的相关信息还有对邮件文件夹操作的一些方法的定义还有邮件管理的一些操作的定义例如发送邮件删除邮件等系统模块的划分按照本系统的总体功能划分可以将这个电子邮件系统分成5大模块首先是登录模块作为验证需要其次是接收邮件和附件模块该模块负责邮件的接收有的是以附件形式接收的再次是发送和回复模块该模块负责该对方发送邮件有的还是以附件形式发送的接着是邮件处理模块该模块负责邮件的阅读保存和删除等操作然后是邮件文件夹的管理该操作负责邮件文件夹的新建重命名和删除等

18、操作下面累出了本系统的模块体系如图登录模块登录模块主要有loginjsp完成其中包括下图中的几部分选择登录服务器本系统采用了merakmailservler公司提供的mail服务器使用版本选择指定邮件地址和密码在本系统中有所提供的mail服务器创建了2个账户进行登录必须选用正确的邮件地址和密码才可以登录不然会报错登录模块的图示接收邮件和附件模块接收邮件和附件模块主要由showmessagejsp文件完成包括下图中的几个部分接收邮件一个邮件系统最基本的功能是能够接受发送的邮件保存附件如果对方是以附件的形式发送邮件给用户那么用户在接收邮件时必须先下载邮件将其保存到本地机之后才能阅读接收邮件和附件模

19、块的图示发送和回复邮件模块发送和回复邮件模块主要由composejsp文件完成包括图中的几个部分编写新邮件该部分也是电子邮件系统中最基本的功能上传附件在编写邮件时邮件内容可以以附件的形式发送这样就需要先将附件上传到服务器然后在发送给对方 发送和回复邮件模块的图示邮件处理模块邮件处理模块主要由listonefoldrjsp文件完成包括图中的几个部分显示邮件列表在登录后的首页中就以分页显示的形式列出了所有的邮件便于管理删除选中邮件在选中删除的邮件后可以单击该命令删除邮件显示错误信息在出现一些登录错误删除错误下载错误是将显示不同的错误信息提示用户邮件处理模块的图示邮件文件夹管理模块邮件文件夹管理模块

20、主要是由listallfoldersjsp文件完成包括图中的几个部分创建新的邮件文件夹用户可以根据自己的需要创建新的邮件文件夹便于管理用户的邮件重命名邮件文件夹用户可以重新命名自己创建的邮件文件夹删除邮件文件夹用户可以删除自己创建的邮件文件夹服务器的安装和配置在做本次系统之前必须配置jsp的服务器和电子邮件的服务器1jsp的服务器主要使用的是tomcat同时在安装tomcat服务器之前必需已经安装了sun公司的jdk在安装tomcat的时候主要是注意电脑环境变量的更改安装完成后只要在浏览器中输入httplocalhost8080看是否能打开tomcat的网页如果能则表示安装成功8080端口是t

21、omcat的默认端口如果电脑上有服务已经把端口占用了可以把占用该端口的服务关掉如果该服务关不掉或者比较重要可以再tomcat的安装目录中找到serverxml文件将其中port 8080改成没有被占用的端口号2电子邮件服务器的配置在本系统中我们采用了merakmailservler公司的mail服务器安装完成后在配置中输入本次实验所需要的域名和用户等信息然后保存配置完成客户端的实现给出本系统中包含的两个类由于代码比较多所以只给出了核心代码首先要加入一个中文字符串处理函数用于是邮件能发送中文public string codetostring string str 处理中文字符串的函数 stri

22、ng s str try byte tempb sgetbytes iso-8859-1 s new string tempb return s catch exception e return s pmessage类重新封装了message类重新封装message类获得邮件的时间主题大小内容还有地址等 public pmessage message msg throws exception if msg null simpledateformat df new simpledateformat yymmdd at hhmmss try date dfformat msggetsentdate

23、 null msggetsentdate msggetreceiveddate catch exception e date new date tostring subject msggetsubject size msggetsize object content try content msggetcontent catch exception e if msgismimetype textplain content null text string content from assembleaddress msggetfrom to assembleaddress msggetrecip

24、ients messagerecipienttypeto cc assembleaddress msggetrecipients messagerecipienttypecc bcc assembleaddress msggetrecipients messagerecipienttypebcc 2构造函数pmessagestring tostring ccstring bccstring subjstring text public pmessage string tostring ccstring bccstring subjstring text toreplace ccreplace

25、bccreplace thisto to thiscc cc thisbcc bcc thissubject subj thistext text 3将address数组转化为对应的字符串用于在页面上显示 private string assembleaddress address addr if addr null return string addrstring boolean tf true for int i 0 i addrlength i addrstring addrstring tf getdisplayaddress addri tf false return addrstr

26、ing 4返回一个适合msg头的字符串 private string getdisplayaddress address a string pers null string addr null if a instanceof internetaddress pers internetaddress a getpersonal null addr pers lt internetaddress a getaddress gt else addr atostring return addr 2mailuserdata类 1删除用户自己创建的邮件夹但不允许删除web应用指定的系统邮件夹 public

27、 void dodeletefolder string foldername throws exception cant delete reserved folder if foldernameequalsignorecase inbox foldernameequalsignorecase trash foldernameequalsignorecase draft foldernameequalsignorecase sendbox throw new exception cannt delete reserved folder folder folder storegetfolder f

28、oldername if folderexists throw new exception this folder does not exists if folderisopen folderclose true folderdelete true 2修改用户自己创建的邮件夹的名字但不允许修改web应用指定的系统邮件夹得名字 public void dorenamefolder string fromnamestring toname throws exception if toname null tonameequals throw new exception you do not inpu

29、t new folder name when renaming folder cant rename reserved folder if fromnameequalsignorecase inbox fromnameequalsignorecase trash fromnameequalsignorecase draft fromnameequalsignorecase sendbox tonameequalsignorecase inbox tonameequalsignorecase trash tonameequalsignorecase draft tonameequalsignor

30、ecase sendbox throw new exception cannt rename reserved folder folder folderfrom storegetfolder fromname folder folderto storegetfolder toname if folderfromexists throw new exception this folder does not exists if folderfromisopen folderfromclose true folderfromrenameto folderto 创建用户自己的邮件夹 public vo

31、id docreatefolder string foldername throws exception if foldername null foldernameequals throw new exception you do not input new folder name when creating folder folder folder storegetfolder foldername if folderexists throw new exception this folder already exists foldercreate folderholds_messages

32、把邮件添加到参数指定的邮件夹中 public void doappendmessage message msg folder f throws exception message m new message1 m0 msg fappendmessages m 根据参数指定的邮件信息如标题收发地址和邮件内容来构建message对象 public message doassemblemessage string tostring ccstring bccstring subjstring text throws exception message msg new mimemessage sessi

33、on internetaddress toaddrs null ccaddrs null bccaddrs null if to null toaddrs internetaddressparse to false msgsetrecipients messagerecipienttypeto toaddrs else throw new messagingexception no to address specified if cc null ccaddrs internetaddressparse cc false msgsetrecipients messagerecipienttype

34、cc ccaddrs if bcc null bccaddrs internetaddressparse bcc false msgsetrecipients messagerecipienttypebcc bccaddrs if subj null msgsetsubject subj msgsetfrom new internetaddress urlnamegetusername urlnamegethost if text null msgsettext text return msg 如果该邮件在trash邮件夹中就永久删除该邮件否则把这封邮件移到trash邮件夹中 public v

35、oid dodeletemessage int arrayoptfolder f throws exception for int i 0i arrayoptlengthi if arrayopti 0 continue message msg fgetmessage i1 if fgetname equals trash message m new message1 m0 msg folder trash storegetfolder trash fcopymessages mtrash msgsetflag flagsflagdeleted true else msgsetflag fla

36、gsflagdeleted true fexpunge 从用户当前邮件夹中把用户当前访问的邮件移到参数指定的邮件中 public void domovemessage string tofoldername throws exception folder folderfrom currfolder folder folderto storegetfolder tofoldername if foldertoexists throw new exception folder does not exist message m new message1 m0 currmsg folderfromco

37、pymessages mfolderto currmsgsetflag flagsflagdeleted true folderfromexpunge 把用户编辑的邮件保存到draft邮件夹中 public void dosavemessage pmessage pmsg throws exception message msg doassemblemessage pmsg save message in draft folder folder f storegetfolder draft if fisopen fopen folderread_write doappendmessage msgf 发送邮件并把邮件保存到sendbox邮件夹中 public void dosendmessage pmessage pmsg throws exception message msg doassemblemessage pmsg send message transportsend msg save message in sendbox folder folder f storegetfolder sendbox if fisopen fopen folderread_write doappendmessage msgf 第6章 系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论