资源预览内容
第1页 / 共28页
第2页 / 共28页
第3页 / 共28页
第4页 / 共28页
第5页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
基于C/S的电子邮件简单收发系统设计与实现摘 要电子邮件作为互联网中交换信息广泛的通信工具之一,如今都已被广大用户接受。早期的电子邮件只是从一个计算机终端向另外一个计算机终端传送文本信息,而现在的电子邮件不仅可以发送文本信息,还可以传送声音、图片、文档等多种信息。很多邮件邮件客户端软件不断地被用户利用起来,例如outlook,Foxmail,但是这些邮件客户端对于很多用户来说却过于复杂。为了方便用户快捷地收发邮件,本课题利用SMTP协议和POP3协议,经过前期对系统的需求分析和对相关协议的了解,设计并实现了简单的电子邮件收发系统。为了保证本系统功能的完整性,在实现该系统过程中,设计了邮件用户注册模块,当用户首次使用本系统时,须注册一个邮件账号,然后才能进行其他的操作。作为一个电子邮件客户端,邮件的发送与收取是其核心功能,本系统邮件发送块实现电子邮件的发送,支持邮件的单个发送和群发,在邮件收取块,实现了电子邮件的简单收取。另外还增加了地址薄管理块让用户更方便地管理自己的联系人,对联系人进行添加、修改、删除等。关键词:电子邮件;SMTP;POP3;邮件收发系统Design and Implementation of Simple Email Receiving and Sending System Based on C/S AbstractEmail is the communication tool which is widely used in the internet to exchange information. Now it has been accepted by many people. In the early days, email is only used in transmitting pure text information from a computer terminal to another. But at present, it is not limited in this, it can support many types of information, such as voice, picture, document and so on. Much software has been used by users. such as Outlook, Foxmail and so on. But they are too complex to many users. In order to send and receive email conveniently, a simple email sending and receiving system has been designed based on SMTP and POP3 protocol after requirement analysis and protocols learning. To prove integrality of the system, the block of accounts registering is necessary. When using this system first time, users should register one account. It has the kernel function of sending and receiving email. In the block of sending email, group sending is supported. In addition, there is an address management block.Key words: E-mail; SMTP; POP3; Mail Receiving and Sending System1 引言1.1 邮件客户端相关介绍电子邮件(Electronic Mail、E-mai1)又称电子信箱,它是种用电子手段提供信息交换的通信方式,是应用于网络上的使用最广泛的网络功能之一。到目前为止,可以说电子邮件是Internet资源使用最多的一种服务,E-mail不只局限于信件的传递,还可用来传递文件、声音及图形、图像等不同类型的信息。电子邮件不是“终端到终端”的服务,而是被称为“存贮转发式”的服务。“存贮转发式”正是电子信箱系统的核心,利用存贮转发可进行非实时通信,属异步通信方式。电子邮件的发送几乎是即时的并且可以一次发送给多个人,发送和接收主要通过SMTP协议和POP3协议来实现,经过几十年的发展,电子邮件系统已经形成了完善的技术体系。电子邮件系统是一种新型的信息系统,是通信技术和计算机技术结合的产物。电子邮件系统采用“存储转发”的机制来完成电子邮件的收发。邮件服务器处理发送和接收消息的事项,并在处理电子邮件的过程中与其他机器进行通信。图1工作流程图1.2 课题背景随着互联网技术的迅猛发展,网络给人们带来了很多便利,比如人们借助于网络进行相互交流变得更加方便。电子邮件作为互联网中交换信息广泛的通信工具之一,如今都已被广大网民接受。在了解RFC底层协议的基础上,本课题开发了这个功能相对简单实用的邮件客户端程序。1.3 现状分析电子邮件来源于专有电子邮件系统,早在Internet流行以前,电子邮件就已经存在了,是在主机-多终端的主从式体系中从一台计算机终端向另一台计算机终端传送文本信息的相对简单的方法下发展起来的。经历了漫长的过程之后,它现在已经演变成为一个更加复杂并丰富得多的系统,可以传送声音、图片、图像、文档等多媒体信息,以至于如数据库或账户报告等更加专业化的文件都可以以电子邮件附件的形式在网上分发。现在,电子邮件已成为许多商家和组织机构的生命血脉,用户可以通过电子邮件的讨论会进行项目管理,并且有时还根据快速而且跨洲际的电子邮件信息交换进行重要的决策行动。毫无疑问的是,Internet扩展了其应用的范围,过去只能在其局域网上进行交谈的公司现在可以通过网络与他们的客户、竞争伙伴与世界上的任何人进行通信和交流。一旦某个组织的电子邮件系统运行在支持TCP/IP协议的网络上或具有支持两个Internet邮件服务协议SMTP(简单邮件传输协议)和POP(邮局协议)之一的Internet网关,它的邮件用户就能够连接到任何具有相似连接的电子邮件地址上了,并且不论其电子邮件账户在何处。2 电子邮件相关协议开发邮件客户端程序,就不得不用到RFC822邮件格式、SMTP协议和POP3协议。RFC822定义了用于电子邮件报文的格式,即RFC822定义了POP3、SMTP以及其他电子邮件传输协议所提交、传输的内容;POP3是因特网上传输邮件的第一个协议,也是一个离线协议;SMTP是Internet上传输电子邮件的标准协议,用于提交和传送电子邮件,规定了主机之间传输电子邮件的标准交换格式和邮件在链路层上的传输机制。2.1 RFC822邮件格式RFC822中对电子邮件的格式加以定义,内容全部由ASCII字符组成,就是通常所说的文本文件,因而标准将它称为Internet文本信件(Internet Text Messages)。为了支持多媒体文档的传输,1996年又发表了一系列的关于MIME(Multipurpose Internet mail Extensions)格式的定义。RFC822定义的邮件格式由两部分组成:邮件头(也称信封)和邮件内容。邮件头包括与传输、投递邮件有关的信息;邮件内容包括标题和正文。2.2 SMTP协议SMTP( Simple Mail Transfer Protocol)简单邮件传输协议,是目前使用最广泛的发送电子邮件的协议。SMTP通常用于把电子邮件从客户机传输到服务器,以及从某一服务器传输到另一个服务器。2.2.1 SMTP协议简介简单邮件传输协议(SMTP)的目标是可靠高效地传送邮件,它独立于传送子系统而且仅要求一条可以保证传送数据单元顺序的通道。SMTP的一个重要特点是它能够在传送中接力传送邮件,传送服务提供了进程间通信环境(IPCE),该环境可以包括一个网络,几个网络或一个网络的子网。传送系统(或IPCE)不是一对一的,进程可能直接和其它进程通过已知的IPCE通信。邮件是一个应用程序或进程间通信,邮件可以通过连接在不同IPCE上的进程跨网络进行邮件传送,更特别的是,邮件可以通过不同网络上的主机进行接力式传送。SMTP设计基于以下通信模型:针对用户的邮件请求,发送SMTP与接收SMTP之间建立一个双向传送通道。接收SMTP可以是最终接收者也可以是中间传送者。SMTP命令由发送SMTP发出,由接收SMTP接收,而应答则反方向传送。一旦传送通道建立,SMTP发送者发送MAIL命令指明邮件发送者。如果SMTP接收者可以接收邮件则返回OK应答。SMTP发送者再发出RCPT命令确认邮件是否接收到。如果SMTP接收者接收,则返回OK应答;如果不能接收到,则发出拒绝接收应答(但不中止整个邮件操作),双方将如此重复多次。当接收者收到全部邮件后会接收到特别的序列,如果接收者成功处理了邮件,则返回OK应答。SMTP提供传送邮件的机制,如果接收方与发送方连接在同一个传送服务下时,邮件可以直接由发送方主机传送到接收方主机;当两者不在同一个传送服务下时,通过中继SMTP服务器传送,为了能够对SMTP服务器提供中继能力,它必须拥有最终目的主机地址和邮箱名称。SMTP的工作过程有一下几个过程有:(Mail)基本发送过程,向前传送邮件,确认邮箱名称和扩展邮件列表,发送到终端和打开关闭交换等。2.2.2 SMTP的命令与应答SMTP定义了14个命令,它们是:HELO MAIL FROM: RCPT TO: DATA RSET SEND FROM: SOML FROM: SAML FROM: VRFY EXPN HELP NOOP QUIT TURN 其中使得SMTP工作的基本的命令有7个,分别为:HELO,MAIL,RCPT,DATA,REST,NOOP和QUIT。下面分别介绍如下:HELO-发件方向收件方问候,命令后面是发件人的服务器地址或标识。收件方回答OK时标识自己的身份。问候和确认过程表明两台机器可以进行通信,同时状态参量被复位,缓冲区被清空。MAIL-这个命令用来开始传送邮件,它的后面跟随发件方邮件地址(返回邮件地址)。它也用来当邮件无法送达时,发送失败通知。为保证邮件的成功发送,发件方的地址应是被对方或中间转发方同意接受的,这个命令会清空有关的缓冲区,为新的邮件做好准备。RCPT -这个命令告诉收件方收件人的邮箱。当有多个收件人时,需要多次使用该命令,每次只能指明一个人。如果接收方服务器不同意转发这个地址的邮件,它必须报550错误代码通知发件方;如果服务器同意转发,它要更改邮件发送路径,把最开始的目的地(该服务器)换成下一个服务器。DATA-收件方把该命令之后的数据作为发送的数据。数据被加入数据缓冲区中,以单独一行是.的行结束数据。结束行对于接收方意味
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号