毕业设计(论文)基于JavaMail的邮件收发管理系统.doc

上传人:仙人指路1688 文档编号:3979293 上传时间:2023-03-30 格式:DOC 页数:36 大小:982.50KB
返回 下载 相关 举报
毕业设计(论文)基于JavaMail的邮件收发管理系统.doc_第1页
第1页 / 共36页
毕业设计(论文)基于JavaMail的邮件收发管理系统.doc_第2页
第2页 / 共36页
毕业设计(论文)基于JavaMail的邮件收发管理系统.doc_第3页
第3页 / 共36页
毕业设计(论文)基于JavaMail的邮件收发管理系统.doc_第4页
第4页 / 共36页
毕业设计(论文)基于JavaMail的邮件收发管理系统.doc_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《毕业设计(论文)基于JavaMail的邮件收发管理系统.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于JavaMail的邮件收发管理系统.doc(36页珍藏版)》请在三一办公上搜索。

1、毕业论文说明书基于JavaMail的邮件收发系统设计THE MAIL SYSTEM BASED ON JAVAMAIL DESIGN学院(部): 科信软件学院 2008级 专业班级: 计算机科学与技术(网络方向)学生姓名: 指导教师: 2012年 3月 27 日基于JavaMail的邮件收发系统设计摘 要众所周知,电子邮件在当今社会上角色之重要,应用之广泛,越来越多的人使用它,可以这样说,电子邮件充斥着我们当今每个人的生活,工作与学习。虽然,现在已经存在很多的邮件服务软件,但是绝大多数对于非专业人员使用起来还是有些难度稍显复杂的,因此我的毕业设计就基于SMTP和POP3两个主要的邮件服务协议从

2、底层开发这个软件。SMTP协议,全称为简单的邮件传输协议,主要用于邮件的发送。POP3协议,全称为邮局协议第三版,主要用于邮件的接收。本次设计是利用J2EE(STRUTS框架),JSP,HTML,CSS,Javascript等技术来实现一个B/S架构的邮件管理系统。所谓B/S架构即浏览器和服务器的架构(Broswer&Server),浏览器的测试种类为广泛使用的IE6.0,而服务器则是选择了各大网站所提供的SMTP及POP3服务器,使用本系统,您不仅可以收发一个纯文本邮件,亦可以发送带有附件的邮件,而且经测试,此软件是一个可以使用不同SMTP和POP3服务器进行邮件收发的邮件管理软件。关键词:

3、SMTP,POP3,BS,邮件收发系统THE MAIL SYSTEM BASED ON JAVAMAIL DESIGNABSTRACTAs we all know, e-mail role in todays society the importance of wide application, more and more people use it, can be said that the e-mail flooded us today everyones life, work and study. Although it already exists a lot of mail serv

4、ice software, but the vast majority of non-professional use, or some degree of difficulty is slightly complicated, so my graduation from the ground-based SMTP and POP3 are two main e-mail service agreement to develop this software. SMTP protocol, all known as the Simple Mail Transfer Protocol is mai

5、nly used for the sending of the message. POP3 protocol, all known as the Post Office Protocol version, mainly for the reception of the message. This design is the use of J2EE (the STRUTS framework), the JSP, as HTML, the CSS, Javascript, and other technology to achieve a B / S architecture, e-mail m

6、anagement system. The so-called B / S architecture, browser and server architecture (the Broswer & Server), the type of browser testing for the widespread use of IE 6.0, while the server is selected major websites to provide SMTP and POP3 server, use this system, Not only can you send and receive a

7、plain text message can also send messages with attachments, and has been tested, this software can use a different SMTP and POP3 server for mail sending and receiving e-mail management software.KEYWORDS: SMTP, POP3, BS , E-MAIL SYSTEM目录摘 要IABSTRACTII1 引言111 电子邮件介绍112 开发背景213 开发环境及运行环境2131 开发环境2132 运

8、行环境22 软件架构及系统用例图321 系统架构322 系统总体用例323 程序功能框图324 发送邮件类425 接收邮件类43 SMTP和POP3协议的研究531 SMTP协议简介及工作原理5311 SMTP简介5312 SMTP协议的命令5313 SMTP的工作原理532 POP3协议介绍和工作原理6321 POP3 简介与命令6322 POP工作原理简介74 RFC822(ARPA因特网文本信件格式的标准)841 RFC822简单介绍842 信件的头部8421 信头的一般格式8422 结构化字段和非结构化字段9423 信头字段的元素9424标准的信头字段105 重要模块设计1451用户登

9、录模块14511主要函数说明14512 部分主要代码1552 发送带附件邮件模块15521 关键函数15522部分主要代码1653收邮件模块17531主要函数说明18532部分主要代码186 软件运行时的界面2461 登录邮件服务器2462 发送邮件界面24621 发送不带附件的邮件25622 发送带附件的邮件257 系统测试2771 同一SMTP服务器发送邮件的测试27711发送一封文本邮件给一个收信人27712 发送一封带附件的邮件给一个收件人2772 利用不同的SMTP服务器发送邮件的测试288 结论29参考文献30致 谢31附录A31附录B321 引言11 电子邮件介绍电子邮件(简称E

10、-mai1)又称电子信箱、电子邮政,它是种用电子手段提供信息交换的通信方式。它是全球多种网络上使用最普遍的一项服务。这种非交互式的通信,加速了信息的交流及数据传送,它是个简易、快速的方法。通过连接全世界的Internet,实现各类信号的传送、接收、存贮等处理,将邮件送到世界的各个角落。到目前为止,可以说电子邮件是Internet资源使用最多的一种服务,E-mai1不只局限于信件的传递,还可用来传递文件、声音及图形、图像等不同类型的信息。电子邮件历史:1971年,美国国防部资助的阿帕网正在如火如荼的进行当中,一个非常尖锐的问题出现了:参加此项目的科学家们在不同的地方做着不同的工作,但是却不能很好

11、地分享各自的研究成果。原因很简单,因为大家使用的是不同的计算机,每个人的工作对别人来说都是没有用的。他们迫切需要一种能够借助于网络在不同的计算机之间传送数据的方法。为阿帕网工作的麻省理工学院博士Ray Tomlinson把一个可以在不同的电脑网络之间进行拷贝的软件和一个仅用于单机的通信软件进行了功能合并,命名为SNDMSG(即Send Message)。为了测试,他使用这个软件在阿帕网上发送了第一封电子邮件,收件人是另外一台电脑上的自己。尽管这封邮件的内容连Tomlinson本人也记不起来了,但那一刻仍然具备了十足的历史意义:电子邮件诞生了。Tomlinson选择符号作为用户名与地址的间隔,因

12、为这个符号比较生僻,不会出现在任何一个人的名字当中,而且这个符号的读音也有着在的含义。阿帕网的科学家们以极大的热情欢迎了这个石破天惊般的创新。他们天才的想法及研究成果,现在可以用最快的-快得难以觉察-速度来与同事共享了。现在他们中的许多人回想起来,都觉得阿帕网所获得的巨大成功当中,电子邮件功不可没。电子邮件的工作原理:1) 电子邮件系统是一种新型的信息系统,是通信技术和计算机技术结合的产物。 电子邮件的传输是通过电子邮件简单传输协议(Simple Mail Transfer Protocol,简称SMTP)这一系统软件来完成的,它是Internet下的一种电子邮件通信协议。 2) 电子邮件的基

13、本原理,是在通信网上设立“电子信箱系统”,它实际上是一个计算机系统。系统的硬件是一个高性能、大容量的计算机。硬盘作为信箱的存储介质,在硬盘上为用户分一定的存储空间作为用户的“信箱”,每位用户都有属于自己的个电子信箱。并确定个用户名和用户可以自己随意修改的口令。存储空间包含存放所收信件、编辑信件以及信件存盘三部分空间,用户使用口令开启自己的信箱,并进行发信、读信、编辑、转发、存档等各种操作。系统功能主要由软件实现。3) 电子邮件的通信是在信箱之间进行的。用户首先开启自己的信箱,然后通过键入命令的方式将需要发送的邮件发到对方的信箱中。邮件在信箱之间进行传递和交换,也可以与另个邮件系统进行传递和交换

14、。收方在取信时,使用特定账号从信箱提取。12 开发背景介于当下流行的各大邮件客户端软件的除了最主要的收发信件之外,功能越来越复杂,但是我们日常工作生活中真正用到的功能却很少,很多功能尤其对于计算机知识相对缺乏的人来说,显得太过于华丽且不太实用。有鉴于此,在了解smtp和pop3等底层协议的基础之上,我们开发了这个各种功能相对简单,实用的邮件客户端程序,精简掉了很多不必要的功能,简化了用户的操作。13 开发环境及运行环境131 开发环境硬件:Intel(R)Pentium(R)4 CPU 2.80GHz ,1G内存80G硬盘操作系统:Microsoft Windows XP Service Pa

15、ck 3 日文版 服务器:Apache Software Foundation-Tomcat 6.0IDE:Eclipse 3.3132 运行环境Intel Pentium 2及以上处理器,128M以上内存,20G以上硬盘Microsoft Windows XP操作系统及其他系统800*600或以上的屏幕分辨率IE6.0或者其他浏览器2 软件架构及系统用例图21 系统架构软件的总体架构如图2-1:欢迎界面登录界面主要功能选择用户登录发送邮件接收邮件图2-1 软件架构图22 系统总体用例欢迎登录发送邮件接收邮件纯文本邮件带附件邮件图2-2 系统总体用例图23 程序功能框图邮件客户端邮件信息接收邮

16、件信息发送附加功能纯文本邮件接收带有附件的邮件接收纯文本邮件发送带有附件的邮件发送电子邮件的编写电子邮件的查询管理图2-3 程序功能图24 发送邮件类(SimpleMailSender.java)是实现邮件发送的核心,。封装了发送邮件的具体实现方法(sendTextMail()主要通过基于Javamail包实现邮件发送的整体过程,并也将邮件附件处理整合到一起,也是具体的smtp实现发送用的代码实现的过程。25 接收邮件类(GetMail.java)是实现邮件获取的核心,主要利用web表单上获取邮件用户的username以及password,使用connect()函数连接邮件服务器后,使用get

17、MailInfo()函数获取收件箱List信息,并在JSP界面中显示出来。3 SMTP和POP3协议的研究基于我们所要开发的是邮件收发系统,所以必须用到 SMTP协议和POP3协议而其中较为主要的是SMTP(Simple Mail Transfer Protocol)协议。SMTP被广泛的应用与互联网邮件的发送,该协议规定了一些基本的命令与方法从而使客户端与服务器进行交互,以达到邮件发送之目的。31 SMTP协议简介及工作原理311 SMTP简介SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,是一种提供可靠且有效电子邮件传输的协议。SMTP是建立在FT

18、P文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供与来信有关的通知。SMTP邮件信息为纯文本格式。文本中包含格式信息,如HTML以及客户使用指定在信息中的MIME类型,以便用合适的方式显示邮件。如果邮件中包含附件,则通过SMTP自动转变成合适的文本类型。312 SMTP协议的命令SMTP分为命令头和信息头两部分,命令头主要完成客户端与服务器端的连接、验证等,整个过程由多条命令组成。由服务器给出的相应信息一般为3位数字的相应码和相应文本,不同的服务器回送相应码是遵守该协议的,而相应正文则不必。SMTP命令及相应信息够是单行的,信息体则是邮件正文部分,最后应以单独的”.”作为结束

19、行。下面是客户端一些常用的SMTP指令。l DATA 开始信息写作。l EXPN 验证给定的邮箱列表是否存在,扩充邮箱列表也常被禁用。l HELP 查询服务器支持什么命令,丰厚命令中的信息。l HELO 向服务器表示用户身份,返回邮件服务器身份。l MAIL FROM 在主机上初始化一个邮件的会话。l RCPT TO 告诉服务器收信人地址。l NOOP 无操作,服务器应相应OK。l RESET 重置会话,当前的传输被取消。l VERFY 用于验证制定的用户/邮箱是否存在;由于安全方面的原因,服务器通常禁止此命令。l QUIT 终止邮件会话。313 SMTP的工作原理SMTP是工作在两种情况下:

20、一是电子邮件从客户机传输到服务器:二是从某一个服务器传输到另一个服务器。SMTP也是个请求/响应协议,命令和响应都是基于ASC文本,并以CR和LF符结束。响应包括一个表示返回状态的三位数字代码。SMTP在TCP协议25号端口监听连续请求。(当然,如果是个别公司的内部邮箱端口是可变的,比方说我的程序端口)32 POP3协议介绍和工作原理321 POP3 简介与命令POP3(Post Office Protocol 3)即邮局协议的第3个版本,它是规定个人计算机如何连接到互联网上的邮件服务器进行收发邮件的协议。它是因特网电子邮件的第一个离线协议标准,POP3协议允许用户从服务器上把邮件存储到本地主

21、机(即自己的计算机)上,同时根据客户端的操作删除或保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。POP3协议是TCP/IP协议族中的一员,,由RFC 1939 定义。本协议主要用于支持使用客户端远程管理在服务器上的电子邮件创建一个分布式电子邮件系统有多种不同的技术支持和途径,诸如:POP(邮局协议)、DMSP(分层式电子邮件系统协议)和 IMAP(因特网信息访问协议)。其中,POP 协议创建最早因此也最为人们了解;DMSP 具有较好的支持“无连接”操作的性能,但其很大程度上仅限于单个应用程序(PCMAIL);IMAP 提供了 POP 和 D

22、MSP 的扩展集并提供对远程邮件访问的三种支持方式:离线、在线和无连接。POP 协议支持“离线”邮件处理。其具体过程是:邮件发送到服务器上,电子邮件客户端调用邮件客户机程序以连接服务器,并下载所有未阅读的电子邮件。这种离线访问模式是一种存储转发服务,将邮件从邮件服务器端送到个人终端机器上,一般是 PC 机或 MAC。一旦邮件发送到 PC 机或 MAC 上,邮件服务器上的邮件将会被删除。但目前的POP3邮件服务器大都可以“只下载邮件,服务器端并不删除”,也就是改进的POP3协议。POP3 并不支持对服务器上邮件进行扩展操作,此过程由更高级的 IMAP4 完成。 POP3 使用 TCP 作为传输协

23、议。 通过POP,客户登录到服务器后,可以对自己的邮件进行删除,或是下载到本地。POP3的常用命令详见下表表3-1所示。表3-1 POP3常用命令命令参数状态描述USERUsername认可此命令与下面的pass命令如果都发送成功,则将使状态转换PASSPassword认可向POP3服务器发送指定邮箱的登录密码,进行密码验证APOPName,Digest认可Digest是MD5消息摘要STATNone处理请求服务器发回关于邮箱统计资料(邮箱总数和总字节数)UIDLMsg#处理返回邮件唯一标识符LISTMsg#处理返回邮件数量和每个邮件的大小RETRMsg#处理返回由参数标识的邮件的全部文本DE

24、LEMsg#处理服务器将由参数标识的邮件标记为删除,由quit命令执行RSETNone处理服务器将重置所有标记为删除的邮件,用于撤销dele命令TOPMsg#处理服务器将回送由参数标识的邮件前n行内容,n是正整数NOOPNone处理服务器返回一个肯定的响应,不做任何操作QUITNone更新断开与POP3的连接,同时将带有删除标记的邮件进行物理删除322 POP工作原理简介下面就让我们一起来看看电子邮件软件收取电子邮件的过程,一般我们在电子邮件软件的账号属性上设置一个POP服务器的URL(比如),以及邮箱的账号和密码。这个在收信过程中都是用得到的。当我们按下电子邮件软件中的收取键后,电子邮件软件

25、首先会调用DNS协议对POP服务器进行解析IP地址,当IP地址被解析出来后,邮件程序便开始使用TCP协议连接邮件服务器的110端口,因为POP服务器是比较忙的,所以在这个过程中我们相对要等比较长的时间。当邮件程序成功地连上POP服务器后,其先会使用USER命令将邮箱的账号传给POP服务器,然后再使用PASS命令将邮箱的账号传给服务器,当完成这一认证过程后,邮件程序使用STAT命令请求服务器返回邮箱的统计资料,比如邮件总数和邮件大小等,然后LIST便会列出服务器里邮件数量。然后邮件程序就会使用RETR命令接收邮件,接收一封后便使用DELE命令将邮件服务器中的邮件置为删除状态。当使用QUIT时,邮

26、件服务器便会将置为删除标志的邮件给删了。通俗地讲,邮件程序从服务器接收邮件,其实就是一个对话过程,POP协议就是用于电子邮件的一门语言。4 RFC 822(电子邮件的标准格式)说道发送和接受邮件,我们就必须不得不提RFC822了。RFC822的全称是“ARPA因特网文本信件格式的标准”(Standard for the Format of ARPA Internet Text Messages)。该标准提供了邮件内容的格式和相关语义。41 RFC 822简单介绍RFC 822规定的电子邮件内容全部由ASCII字符组成,就是通常所说的文本文件,因而标准将它称为Internet文本信件(Inter

27、net Text Messages)。从直观上看,信件非常简单,就是一系列由ASCII字符组成的文本行,每一行以回车换行符(“CRLF“,就是ASCII码的13和10)结束。从组织上看,信件内容结构分为两大部分,中间用一个空白行(只有CRLF符的行)来分隔。第一部分称为信件的头部(the header of the message),包括有关发送方、接收方、发送日期等信息。第二部分称为信件的体部(Body of the message),包括信件内容的正文文本。信头是必需的,信体是可选的,即信体可有可无。如果不存在信体,用作分隔的空白行也就不需要。在信体中,也可以有用作分隔的空白行。这样设计的

28、信件便于进行语法分析,提取信件的基本信息。在RFC 822中规定,信件体就是一系列的向收信人表达信息的文本行,比较简单,可以包含任意文本,并没有附加的结构。信件头则具有比较复杂的结构,在下一小节中详述。42 信件的头部421 信头的一般格式信头的结构比较复杂,信头由若干信头字段(header field)组成,这些字段为用户和程序提供了关于信件的信息。要了解信头的结构就要弄清楚各种信头字段。所有的信头字段都具有相同的语法结构,从逻辑上说,包括四部分,字段名(field name),紧跟冒号: (colon),后跟字段体(field body),最后以回车换行符(CRLF)终止。即信头字段 =

29、字段名:字段体 CRLF字段名必须由除了冒号和空格以外的可打印USASCII字符(其值在33和126之间)组成,大多数字段的字段名称由一系列字母,数字组成,中间经常插入横线符。字段名告诉电子邮件软件如何翻译该行中剩下的内容。字段体可以包括除了CR和LF之外的任何ASCII字符。但是其中的空格,加括号的注释,引号和多行字段都比较复杂,另外,字段体的语法和语义依赖于字段名,每个类型的字段有特定的格式。RFC 822为信件定义了一些标准字段,并提供了用户自行定义非标准字段的方422 结构化字段和非结构化字段每个字段所包含的信息不同,字段大体可以分为结构化字段和非结构化字段。结构化字段有特定的格式,由

30、语法分析程序检测。Sender 字段就是一个很好的例子,它的字段内容是信箱, 有一个离散的结构。非结构化的字段含有任意的数据,没有固定格式。例如,Subject字段可以含有任意的文字,并且没有固定格式。非结构化的字段数量较少,只有Subject、 Comments、扩展字段,非标准字段、INReply和References等。所有其它字段都是结构化的。423 信头字段的元素尽管Email信件的总体结构非常简单,但一些信头字段的结构是很复杂的。下面介绍一些大多数字段共有的元素。(1)空白符像其它文本文件一样,空白符包括空格符(ASCII码32)和制表符Tab(ASCII码19)。此外,行末的回车

31、换行符CRLF也应算是空白符。使用空白符可以对字段进行格式化,增加它的可读性。例如,每个字段间用CRLF来分离,在字段内用空格来分隔字段名和字段内容。在Subject后面的冒号和内容之间插入空格字符,会使字段结构更加清晰。在Email中,空白符的使用并没有固定的规则,但应当正确地使用,仅在需要时才使用空白符,以便接收软件进行语法分析。(2)注解注解是由括号括起来的一系列字符,例如,(这份礼物)。注解一般用在非结构化的信头字段中,没有语法语义,仅为人提供了一些附加的信息。如果在加引号的字符串中有包括在括号中的字符,那是字符串的一部分,不是注解。在解释信件的时候,会将注解忽略,可以用一个空格字符代

32、替它们,这样就什么也不会破坏。(3)字段折叠每个信头字段从逻辑上说应当是一个由字段名、冒号、字段体和CRLF组成的单一的行,但为了书写与显示的方便,增加可读性,也为了符合1000/80的行字符数的限制,可以将超过80个字符的信头字段分为多行,即对于比较长的字段,可以分割成几行,形成折叠。在结构化和非结构化字段中都允许折叠。通过在字段中某些点插入CRLF符和至少一个或多个空白字符来实现字段的折叠,第一行后面的行称为信头字段的续行。续行都以一个空白符开始,这种方法称为折叠(folding),例如标题字段Subject: This is a test可以表示为:Subject: This is a

33、test反之,将一个被折叠成多行的信头字段恢复到它的单行表示的过程叫做去折叠,只要简单地移除后面跟着空格的CRLF,将折叠空白符CRLF转换成空格字符,就可以完成去折叠(unfolding)。在分析被折叠的字段的语法时,要把一个多行的折叠字段展开为一行,根据它的非折叠的形式来分析它的语法与语义。(4)字段大小写字段名称是不区分大小写的,所以Subject、subject或SUBJECT都一样。不过字段名称大小写有习惯的常用形式,如主题字段的大小写形式通常为Subject。字段体的大小写稍微复杂点,要视情况而定。比如Subject后面的字段体,其中的大写可能就是缩写的专用名词,不能改动。424标

34、准的信头字段下面介绍RFC822中定义的常用的标准信头字段。表4-1 RFC 822常用的标准信头字段与发信方有关的信头字段格式:From:mailbox举例:From:wang写信人字段。说明信件的原始创建者,给出他的电子信箱地址。创建者对信件的原始内容负责。格式:Sender:mailbox举例:From:wangSender:li发送者字段。说明实际提交发送这个信件的人,给出他的电子信箱地址。当发信人与写信人不一样时使用。比如,秘书替经理发信。发送者对发送负责。格式:Reply-TO:mailbox举例:From:wang From:zhao回复字段。指定应当把回信发到哪里。如果有此字段

35、,回信将会发给它指定的邮箱,而不会发给From字段指定的邮箱。比如,发送的是经理的信,但回信应交办公室处理。与收信方有关的信头字段格式:TO:mailbox list举例:TO:zhang收信人字段。指定主要收信人的邮箱地址,可以是多个邮箱地址的列表,地址中间用逗号隔开。格式:Cc:mailbox list举例:Cc:zhang抄送字段。指定此信件要同时发给哪些人,也称为抄送。也可以使用邮箱地址列表,抄送给多个人。格式:Bcc:mailbox list密抄字段。指定此信件要同时秘密发给哪些人,也称为密件抄送。也可以使用邮箱地址列表,密抄给多个人。其它的信头字段格式:Date:date-time

36、举例:Date:Tue,04 Dec 2004 16:18:08 +800日期字段:Date字段含有电子邮件创建的日期和时间。格式:Subject:*text举例:Subject:Hello! Subject:Re:Hello!信件主题字段。描述信件的主题。当回复信件时,通常在主题前面增加“Re:”前缀,标记为该信件为回复信件:当信件被转发时,通常在主题文字前面加上“Fw:”,“Fwd:”这样的前缀。格式:Received:from domain ;发送主机by domain ;接收主机via atom ;物理路径id msg-id ;接收者msg id接受字段。是投递信件的特定邮件服务器所作

37、的记录。处理邮件投递的每个服务器必须给它处理的每个信头的前面加一个Received字段,用以描述信件到达目的地所经过的路径以及相关信息。当跟踪各个电子邮件问题时,这个信息很有帮助。举例:Received:from wang195.0.0.1 by li129.5.0.4 Tue dec 2003 12:18:02 +800格式:Comments:*text注释字段。用于把一个注解添加到信件中。格式:Resent-*举例:Resent-FromResent-SenderResent-dateResent-Reply-To重发字段。当需要把收到的信件重发给另一组收信人的时候,可以保持整个原始信件不

38、变,并简单地产生重发信件所要求的新信头字段。为避免与以前的字段相混。新添加的信头字段都加上Resent-前缀字符串,它们的语法与未加前缀的同名字段相同。格式:Message-ID:msg-id信件标识字段。用于表示一个信件唯一标识,该字段通常有Smtp服务器生成,这个值通常是唯一的。形式根据使用的软件而定。通常左边是标识符,右边指定电脑名表4-1中的关键字表明了电子邮件借用了办公室备忘录中的概念和术语:电子邮件的头部能够包含一行说明应当接收到该备忘录的接收方。象传统的办公室备忘录一样,电子邮件使用关键字Cc指明一个复写副本(carbon copy).电子邮件软件必须向Cc:后面的电子邮件地址表

39、中的每个地址发送一份消息的副本。传统的办公室过程要求备忘录的发送方通知接收方副本是否传给其它人。有时发送方希望将备忘录的一个副本给别人而不显示出有一个副本被发送出去。一些电子邮件系统提供这样的选项,遵循传统的办公室术语,用盲复写副本(blind carbon copy)来表示。创建消息的用户在关键字Bcc后给出一个电子邮件地址表,指定一个或多个盲复写副本。虽然Bcc在发送方出现,但当信息发送时,邮件系统将它从消息中除去。每个接收方必须检查头部的To和Cc行以决定信息是直接发送还是作为盲副本发送的(有些邮件系统在正文部分附加信息来告诉接收者它是一个盲副本)。其它接收者不知道有哪些用户接收到盲副本

40、。电子邮件使用与传统的办公室备忘录相同的格式和术语:头部包括与消息有关的信息,正文包括消息文本。电子邮件头部的行说明发送方、接收方、日期、主题、应当收到副本的人的列表。(1)扩展字段如果想在信头中加入RFC822中没有规定的字段,就需要创建非标准字段。方法非常简单,只要在自定义的信头字段名的前面使用X-前缀。RFC822将这种方法称为扩展字段。事实上已经有许多扩展字段被广泛应用,但没有标准定义。例如:l X-LOOP字段X-LOOP字段用来防止邮件的循环传送。过滤或邮件列表处理程序,可以给它处理的每个信件增加一个X-LOOP字段,以后就可以根据这个字段中含有的特别值,判断一个信件是否被循环传送

41、。如果确认邮件发生了循环,过滤或邮件列表处理程序就可以用不同的方式处理该信件。l X-Mailer字段 X-Mailer字段用于指示什么样的程序产生了这个信件,它是使用最广泛的扩展字段。产生邮件的软件可以为所有发送的信件增加合适的X-Mailer字段,该字段不仅含有软件的名称,还包含软件的版本号。(2) 普通关键字下表4-2列出了一些在因特网电子邮件中可以找到的普通关键字,以及它们的含义。表4-2 电子邮件中的关键字关键字含义From邮件发送方地址(对应Javamail的From)To邮件接收方地址(对应Javamail的To)Cc需要抄送副本的地址(对应Javamail的Cc)Date邮件信

42、息创建日期 (对应Message中的Date)Subject邮件信息主题(对应Message中的Subject)Content邮件信息内容(对应Message中的Content)Reply-To邮件回复地址X-Charset使用的字符集(通常为ASCII)X-Mailer发送信息所使用的软件X-Sender发送方地址的副本X-Face经编码的发送方面孔的图象5 重要模块设计51用户登录模块511主要函数说明为了方便用户使用,本邮件收发系统设有两个登陆界面,即一个为本邮件管理系统的登录使用界面,还有一个收取邮件的登录界面,而收取邮件的登录界面,是存在于主功能界面的二级界面,方便收取各个不同邮件服

43、务器的邮件,而不是由一级界面直接登录,所以第二界面登录需要验证POP3协议是否通过,并连接到当前选择的服务器地址。若连接成功,则直接再JSP界面上显示收取到的该邮件服务器的邮件。1)connect()函数用于建立与POP3服务器的连接。语法:store.connect(POPHost,user,password);connect()函数的参数说明如表5-1所示表5-1 connect()参数说明参数说明POP3HostNot null. POP3服务器地址usernameNot null. 用户账号passwordNot null. 用户密码2)closeConnect()closeConne

44、ct()用于关闭与POP3服务器的连接。语法: closeConnect();。512 部分主要代码处理用户登录信息的页面部分代码如下:if(username.equals(shuo.zhang)&password.equals(shuo.zhang20120203) return mapping.findForward(loginSuccess); else return mapping.findForward(loginFail);被处理一级登录界面部分代码:用 户 名 52 发送带附件邮件模块发送带附件的E-mail页面(editMail.jsp)首先对接收用户发送的收件人、邮件主题、附件、邮件内容等信息,并获取附件的路径,然后应用sendTestMail函数创建MIME邮件,最后应用Javamail中的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号