《Java程序设计》课程设计报告
题 目:简单电子邮件客户端的设计学 院:计算机科学与工程学院专 业:计算机科学与技术学生姓名:王渝凯学 号:指导教师:汪华登 1000350225
2014 年 6 月 24
日
目录
一、设计任务及目标 ................................... 3
1.1绪言 ...................................................... 3 1.2目标 ...................................................... 3 1.3设计任务 .................................................. 3 1.4需求分析 .................................................. 4 1.5技术上可行性分析 .......................................... 4
二、总体设计 ......................................... 4
2.1电子邮件的组成 ............................................ 4 2.2电子邮件地址 .............................................. 5 2.3功能模块 .................................................. 5 2.4电子邮件报文格式 .......................................... 5 2.5小结 ...................................................... 6
三、详细设计 ......................................... 6
3.1 SMTP协议发送信件 ......................................... 6 3.2 SMTP协议 ................................................. 6 3.3相关代码实现 .............................................. 8
四、结论 ............................................ 13 五、任务完成情况 .................................... 14
5.1.特色 ..................................................... 14 5.2.不足 ..................................................... 14
参考文献 ............................................ 14 附录 ................................................ 14
第 2 页
一、设计任务及目标
1.1绪言
互联网技术的飞速发展引领人类进入了网络信息时代,而电子邮件已经取代传统书信成为人们交流和交换信息的重要途径。越来越多的人在使用它,而且使用它的人数将会继续增加,同时根据生活和交流的需要,同一个人同时拥有了多个邮件,这样人们为了发送和接收邮件需要登陆不同的网页,使得操作繁多浪费了很多宝贵的时间。为了解决这一问题研发出了电子客户端软件,通过本软件可以完成不同的邮箱账户的邮件收发功能,而不需登陆多个不同的网页。
本系统软件名为电子邮件客户端软件,是基于SMTP 和POP3 协议从底层播放器开发的,实现了邮件发送和接收的基本功能,并且能够附带邮件附件的发送和接收。
SMTP全称是简单邮件传输协议,是一种提供可靠且有效电子邮件传输的协议,它专门用来发送邮件用的。其中类MailSend 实现了SMTP 协议的解析和实现邮件内容和附件发送的核心类。POP3是邮局协议的第3 个版本,它规定怎样将个人计算机连接到Internet 的邮件服务器和下载电子邮件的电子协议,是专门用于接收邮件的。类MailReceive 是利用成熟封装的DLL 文件实现接收邮件内容和下载附件的核心类。经过测试,本系统能够准确实现纯文本邮件和带有附件的邮件的发送,以及邮件的接收和附件的下载。
虽然当前流行的各大邮件客户端软件比如Foxmail 、Outlook Express 等都已实现邮件收发功能,但是除了最主要的收发信件之外,他们功能越来越复杂,但是人们平常真正用到的功能很少,很多功能尤其对于那些计算机知识相对缺乏的人来说,更加显得太过于华丽而不实用。有鉴于此,在了解RFC 底层协议的基础上,开发了这个各种功能相对简单实用的电子邮件客户端软件,简化了很多不必要的功能,它更容易掌握和使用。
1.2目标
完成一个电子邮件客户端软件,要求能够收取邮件、发送邮件、书写新邮件、具有图形化界面。能批量发送邮件。
1.3设计任务
完成一个桂林电子科技大学计算机科学与工程学院关于《Java程序设计》简单邮件客户端设计的工作。
对桂林电子科技大学进行需求分析,根根需求分析对简单电子邮件的功能进行调整和完善。
第 3 页
1.4需求分析
本系统是采用java 语言来开发的应用程序,实现简单电子邮件的发送与收取。电子邮件是Inernet上最受欢迎是一种应用,电子邮件能够克服传统电话应用中通信双方必须在场、一些不必要的电话经常打断正在进行的工作等问题。人们通过电子邮件客户端软件,把邮件发往收信人邮箱所在的电子邮件服务器,收信人子打开计算机上网时,通过邮件代理就会看到自己邮箱中的邮件。同时也可以克服普通的电话通信不能传送文件等数据的缺点,通过客户端,用户可以向收信人发送附件,收件人就可以通过邮件代理收到发信人发送的内容。 电子邮件客户端具有方便实用、传递迅速和费用低廉等特点,电子邮件不仅可以传送文本信息,而且可以通过附件传送音频、视频文件。
1.5技术上可行性分析
基于javamail来开发该客户端软件,所以选用java作为开发工具,选用eclipse作为java编译器。
本系统软件名为电子邮件客户端软件,是基于SMTP 和POP3 协议从底层开发的,实现了邮件发送和接收的基本功能。本系统软件具有收取邮件、发送邮件、书写新邮件、具有图形化界面等功能。
二、总体设计
2.1电子邮件的组成
一个电子邮件系统的包括电子邮件协议、用户代理和电子邮件户服务器。一个完整的电子邮件传输过程,及其用到的协议和构件的位置,如下图3--1所示,电子邮件胡武器采用客户端服务器模式。电子邮件服务使用运输层协议是TCP.
发送邮件 传输邮件 接收邮件 用户代理
发送方邮件服务器 接收方邮件服务器 用户代理 电子邮件协议规定如何在两个星湖通信的邮件进程之间交换信息,电子邮件协议包括简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)、邮局协议(Post Office Protocol,POP3)。
发送方用户代理(User Agent , UA)是用户与电子邮件飞的系统的接口,是在用户上网终端运行的软件,称为电子邮件客户端,用户通过UA发送和接收邮件。
电子邮件服务器的功能是发送和接收邮件,使用SMTP协议发送邮件,使用POP3协议接收邮件,并向邮件发送者报告邮件传送的情况。
第 4 页
2.2电子邮件地址
Intertnet 中有大量的电子邮件服务器,用户可以在一台邮件服务器上申请合法的用户账号,包括账号名和密码,申请成功后,邮件服务器为每个用户开辟一个存放用户邮件的空间,成为用户的电子邮箱。每个电子邮箱都有一个全球唯一的邮箱地址,也称为用户的电子邮箱地址。电子邮件有两部分组成,之间由@间隔,前一部分为用户在该邮件服务器中的账号,即信箱名,后一部分为邮件服务器的主机名(域名)。
用户信箱名@邮箱和邮件服务器所在主机的域名 例如:13481386466@163.com
发送方电子邮件服务器负责接收用户发来的邮件,根据邮件的目的地址,发呆哦接收方的邮件服务器中。接收方的邮件服务器同时也负责接收从其他服务器发往其中的邮件,根据收件人的不同,将邮件分发到用户的电子邮箱。 当然,接收方和发送方的邮箱也可以在一个邮件服务器中。
2.3功能模块 书写新邮 收取邮件 登录 发送邮件 2.4电子邮件报文格式
电子邮件报文格式由两部分组成:邮件首部(Mail Head)和邮件主体(Mail Body).RFC822规定了电子邮件的首部格式,邮件主体由用户自由撰写。 电子邮件的首部
邮件首部包括一些关键字描述的字段(后面加上冒号),如下表所示。 邮件首部有多项内容构成,其中发件人地址、邮件发送的日期和时间等是由电子邮件应用程序根据系统设置自动产生的,而收件人地址,抄送人地址、邮件主题等是根据用户在创建邮件时输入的信息产生的。 首部字段 含义及后面内容 Form 发信人的邮件地址 Date 发信日期 To 一个或者多个收信人的邮件地址 Subject 邮件标题 第 5 页