收藏 分享(赏)

电子邮件和文件传输.ppt

上传人:wspkg9802 文档编号:4897859 上传时间:2019-01-21 格式:PPT 页数:47 大小:130.50KB
下载 相关 举报
电子邮件和文件传输.ppt_第1页
第1页 / 共47页
电子邮件和文件传输.ppt_第2页
第2页 / 共47页
电子邮件和文件传输.ppt_第3页
第3页 / 共47页
电子邮件和文件传输.ppt_第4页
第4页 / 共47页
电子邮件和文件传输.ppt_第5页
第5页 / 共47页
点击查看更多>>
资源描述

1、Internet应用 - 电子邮件服务,电子邮件系统,电子邮件系统的基本概念 电子邮件系统及其协议 报文传输代理MTA及SMTP 邮件用户代理及POP3 报文协议RFC822 多用途Internet报文扩展协议MIME,电子邮件系统的基本概念,1972年BBN的Ray Tomlinson发明电子邮件系统并采用符号。电子邮件系统要求每个用户有一个email地址。Internet上email地址的形式是: 用户名主机域名 这里念作“at”,意思为“在”。 左边是用户名或用户所使用的电子邮箱名。邮箱所在主机通常称为邮件服务器。 右边是用户使用的邮件服务器所在域的域名。 例如清华大学的域名是,所以 就

2、是清华的某email地址。,电子邮件系统的基本概念(续),电子邮件系统投递邮件时,首先需要利用域名系统 DNS 将 email 地址中的主机域名转换成邮件服务器的IP地址。为此先调用名字解析器,(1) 从主机域名查询该域的资源记录MX。例如:从域 的 DNS 资源记录 MX,可以得到邮件服务器域名,(2) 再查询邮件服务器的IP地址,有了IP地址就知道邮件往哪里送了。 若查不到MX记录,系统就将后的主机域名作为邮件服务器域名。,电子邮件系统的基本概念(续),电子邮件系统的一个非常有用的功能是利用所谓邮寄表 (mailing list) 向多个用户发送同一邮件。邮寄表是一组email地址并有一

3、个组名,也称“别名(alias)”,发给该组名的邮件会自动分发给它代表的每个email地址。 一些邮件系统的地址簿或通讯簿(address book)有类似的功能。,电子邮件系统及其协议,电子邮件系统包括两个部分:报文传输代理MTA(Message Transfer Agent)和邮件用户代理UA(User Agent)。 报文传输代理MTA相当于邮局,为用户发送和接收邮件。运行报文传输代理的主机就是邮件服务器,它不间断地运行,为用户接收、发送和保存邮件。 邮局用户代理UA是邮件系统的用户界面,它帮助用户阅读、编辑、管理邮件。当UA按用户的命令准备好要发送的邮件后,就交给MTA。,电子邮件系统

4、及其协议(续),在UNIX中,最常用的报文传输代理 MTA 是Sendmail 程序,它在后台运行,它随时准备好接收网络向本机邮箱发来的邮件,并向网上发送本机用户发出的邮件。Sendmail 安全性差,用户多时管理复杂。 Dan Bernstein开发的 Qmail 及Wietse Venema开发的Postfix,都希望提供更快、更安全、更容易管理的 MTA 来替换 Sendmail。,电子邮件系统及其协议(续),邮件用户代理UA既可在邮件服务器运行,也可在用户的PC机上运行,前者如 UNIX 的mail或mailx,用户的PC机可以作为 UNIX 的终端登录到邮件服务器,使用mail 编辑

5、、发送、接收、阅读邮件;后者如Netscape Messenger 和Outlook Express,它们替你从服务器下载邮件到PC机,编辑、阅读邮件时它们独立工作,只当发送、接收邮件时才需与邮件服务器连接,这种UA称独立用户代理。 许多邮件服务器提供Web界面,UA.,电子邮件系统及其协议(续),报文传输代理之间使用简单邮件传输协议SMTP (Simple Mail Transfer Protocol) 进行通信。 在PC机上的独立邮件用户代理 ( 如Netscape Messenger 或 Outlook Express ) 和报文传输代理之间的通信协议是 POP3 (Post Offic

6、e Protocol-Version 3) 或 IMAP4 (Internet Message Access Protocol-Version 4)。 所以在Internet中,邮件是以 SMTP 协议传递的,到了目标邮件服务器后,再到 PC 机这最后一程是使用 POP3 (或 IMAP4) 传递的。,电子邮件系统及其协议(续),Netscape Messenger,MTA,pop server,imap server,POP3,IMAP4,Outlook Express,MTA,pop server,imap server,POP3,IMAP4,报文传输代理MTA及SMTP,Internet

7、报文传输代理实现协议SMTP,SMTP十分简单,它只定义邮件如何从一个“邮局”传给另一个“邮局”,只规定MTA之间的命令和回答。 MTA主要就是生成、处理、回答SMTP命令。,MTA发送方,MTA接收方,命令,回答,SMTP客户,SMTP服务器,报文传输代理MTA及SMTP(续),在发送邮件前,发送方要建立一条到接收方主机端口25 的TCP连接(已为SMTP服务器分配了TCP端口25)。 然后发送方发送生成的SMTP命令及邮件报文。 接收方把对命令的回答送回发送方。 邮件传送完毕后撤消连接。 发送方和接收方之间的命令和回答都是可读ASCII字符串,命令和回答都有确定的语法和语义。,报文传输代理

8、MTA及SMTP(续),SMTP的最小实现包括七条命令: HELO 开始会话 MAIL FROM: 开始一次邮件事务,指出邮件发送者 RCPT TO: 指出接收者 DATA 开始邮件报文 RSET 中止当前邮件事务 NOOP 无操作 QUIT 结束会话,报文传输代理MTA及SMTP(续),发送方发送一个邮件到接收方的过程就是它们之间的一次会话,会话分连接建立、邮件传送、连接关闭三个阶段: (1) 连接建立 发送方发起并建立一条到接收方的TCP连接; 接收方回答“220 .”通报自己域名; 发送方发“HELO ”通报自己域名; 接收方回答“250 ”接收发送方域名,双方建立起通信的初始状态,发送

9、方就可传输邮件。,报文传输代理MTA及SMTP(续),(2) 邮件传送:发送方每传送一个邮件称为一次邮件事务,MAIL,RCPT,DATA是一个邮件事务的三部曲,也是发送一个邮件的过程。 发送方发“MAIL FROM:”命令;接收方回答“250”表示准备好接收报文, 若邮箱忙回答“450”,若处理有错。,报文传输代理MTA及SMTP(续),发送方发一条或多条命令“RCPT TO:” 指定目标邮箱地址; 对每条RCPT命令接收方回答“250”表示正确,“550”表示有错。 发送方发命令DATA;在收到接收方的回答“354”(表示正确)后,发送方发邮件报文文本,文本的结束行只包含句点“.”。,报文

10、传输代理MTA及SMTP(续),(3) 连接关闭 发送方发命令QUIT,接收方回答“221 ”后关闭TCP连接。注意,回答主要是一个3位的十进数码: 以4和5开头的表示有错,如语法错误等。 以2和3开头的表示正确。 标准对各种命令的回答数码作了详细规定。,报文传输代理MTA及SMTP(续),SMTP的限制: SMTP规定邮件报文是7位的ASCII字符串,在传输邮件时将8位字符的最高位置“0” (虽然TCP连接支持传输8位的字符)。 早期的实现限制邮件报文的大小不能超过64k字节。 每个报文行的最大长度是1000字符。 一个邮件的接收者不能超过100名。,报文传输代理MTA及SMTP(续),扩展

11、的SMTPESMTP(Extended SMTP): 扩展的SMTP增加了新命令EHLO,用EHLO代替HELO来开始一次会话。若接收方也实现了SMTP的扩展,则对EHLO命令回答“250”。 然后在 MAIL 命令中 FROM 后可以增加参数“BODY=8BITMIME”表示DATA后面传输8位字节的MIME报文;也可增加参数“SIZE=报文大小”(用十进制表示,单位是字节)等。,SMTP的一次会话过程示例,会话是在发送方发起并建立了到接收方的TCP连接后开始的: R:220 ESMTP SendmailThu, 2 Sep . S:EHLO R:250 - Hello , R:250

12、 - 8BITMIME R:250 - SIZE,SMTP的一次会话过程示例(续),S:MAIL FROM: BODY=8BITMIME R:250 Sender and 8BITMIME ok S:RCPT TO: R:250 Recipient ok S:DATA R:354 Enter mail, end with “.” on a line by itself,SMTP的一次会话过程示例(续),S:张三:你好 S: S:李四 S:. R:250 KAA20017 Message accepted for delivery S:QUIT R:221 closing connection

13、,邮件用户代理及POP3,POP3允许用户通过PC机动态地检索邮件服务器上的邮件。一般它只是下载邮件,没有很多管理操作。 POP3采用客户/服务器模式,POP3客户程序在用户的PC机上运行,POP3服务器程序在邮件服务器上运行。 POP3协议描述POP3客户和POP3服务器之间的通信,通信建立在TCP之上,POP3客户发命令,POP3服务器回答命令。,邮件用户代理及POP3(续),POP3服务器启动后就在TCP端口110上侦听,准备为POP3客户服务。 当POP3客户希望使用POP3提供的服务时,它就向POP3服务器的端口110发起TCP连接请求,TCP连接建立后POP3会话开始。 首先POP

14、3服务器向客户发送一行“欢迎”词,以后POP3会话进入第一个状态,称授权状态。,邮件用户代理及POP3(续),授权状态: 客户发送USER命令给出用户在邮件服务器上的邮箱名,若是合法用户,服务器回答“+OK”。 客户再发送PASS命令给出口令。POP3服务器确定用户是否有权访问该邮箱,若有权访问,服务器再次回答“+OK”,若是非法用户,服务器回答“-ERR”。 USER和PASS命令用口令方式对用户进行授权验证。,邮件用户代理及POP3(续),事务状态: 若对用户的授权验证成功,则服务器申请资源与用户的邮箱关联,会话进入第二个状态,称为事务(transaction)状态。 在事务状态,服务器将

15、存储的邮件分成一个个报文,并从1开始编号。 在事务状态,客户可以重复发送一些命令检索报文(RETR)、删除报文(DELE)(作删除标记)等。,邮件用户代理及POP3(续),更新状态: 当客户发出QUIT命令时,POP3会话从事务状态进入第三个状态,称为更新(update)状态。 在更新状态,所有有删除标记的报文被真正删去,最后关闭TCP连接,服务器释放在事务状态中申请的资源,POP3会话结束。,POP3实现的命令,POP3实现的命令(续),前三条命令,即USER,PASS,QUIT是在授权状态下的命令。服务器验证USER和PASS命令中的参数确定是否合法用户,若是非法用户,服务器回答“-ERR

16、”,客户再发USER命令或QUIT命令退出会话。 后七条命令,包括QUIT,是在事务状态下的命令。,POP3客户和服务器会话例,S: C: S:+OK oar pop3 server ready C:USER wrongid S:-ERR sorry, wrongid doesnt get his mail here C:USER your_userid S:+OK your_userid is welcome here C:PASS your_password,POP3客户和服务器会话例(续),S:+OK your_userids maildrop has 2 messages (320 o

17、ctets) C:STAT S:+OK 2 320 C:LIST S:+OK 2 messages (320 octets) S:1 120 S:2 220 S:.,POP3客户和服务器会话例(续),C:RETR 1 S:+OK 120 octets S:报文1的内容 S:. C:DELE 1 S:+OK message 1 deleted C:RETR 2 S:+OK 200 octets,POP3客户和服务器会话例(续),S:报文2的内容 S:. C:DELE 2 S:+OK message 2 deleted C:QUIT S:+OK oar pop3 server signing of

18、f (maildrop empty) C: S:,POP3客户和服务器会话例(续),POP3协议只规定用户代理如何从邮件服务器检索邮件。若POP3客户要发送邮件,则它要与邮件服务器建立一个SMTP连接,将邮件交给MTA。 POP3用户代理有两个功能:检索邮件和发送邮件,前者用POP3协议,后者用SMTP协议。 POP3客户也实现了SMTP客户模块,但它与 MTA上的SMTP客户模块不同。,报文协议RFC822,Internet主机之间传送的报文是7位ASCII字符流。 每个报文分成两部分:报文头(message header)和报文体(message body),两者以一空行分隔。 报文头在报

19、文体之前,它是一些控制信息,包括收方和发方的地址、日期等。报文体是用户邮件内容,RFC只规定它是ASCII字符串。 报文头由一系列头字段(header fields)组成,每个头字段的形式是:字段名(field-name):字段体(field-body),报文协议RFC822(续),报文协议RFC822(续),每个转发报文的MTA都加上字段 “Received:”,用 from 后跟转发主机,by 后跟接收主机及收到的时间,with 后跟传输协议 smtp 或 esmtp。 RFC822对邮件最大的限制是邮件报文体是ASCII字符流,每个ASCII字符是7位。SMTP中又规定传输邮件时将8位字

20、节的最高位清0,这样电子邮件就不能包括多国文字和多媒体信息。 邮件报文格式RFC822极需扩充,提出了多用途Internet 报文扩展MIME (Multipurpose Internet Mail Extensions)。,MIME,MIME 是 RFC822 的扩展,在MIME标准中,RFC822 的报文头、报文体基本模式不变,RFC822 定义的标准头字段的语法和语义不变。 MIME增加了几个头字段,常用的是:MIME-Version:1.0Content-Type:类型/子类型Content-Transfer-Encoding:7bit | 8bit |binary | base64

21、| quoted-printable,MIME(续),邮件报文要使用各国文字及多媒体信息,可利用报文头字段 “Content-Type:类型/子类型”指明报文体的数据类型。MIME定义了7种数据类型。Internet 邮件的默认数据类型是Content-Type:text/plain;charset=us-ascii MIME定义的7种数据类型中,许多类型按其本身的格式在传输中应为8位的字符串,即二进制数据。但采用SMTP,那些数据无法正确传输,头字段 “Content-Transfer-Encoding:.” 指明数据的传输编码方式。,MIME传输编码base64,基数 64 编码 ( ba

22、se64 ) : 是根据Radix-64编码表将3个字节的二进制数据变换为4个可打印的ASCII字符(7位)。 3个字节24位,分为4个6位,每个6位二进制数是063,按 Radix-64 编码表转换成ASCII字符。 报文体末尾不足3字节,即只有16位或8位,就分别转换为3个或2个ASCII字符,再分别填充一个或两个“=”字符。所以当编码后的文本末尾为“=”或“= =”时,分别指示报文内容最后一组为16位或8位。,Radix-64编码表,MIME传输编码quoted-printable,带引见符的可打印编码(quoted-printable):对每个字节的8位二进制数进行编码,28 =162

23、=256,用两个十六进制数可以对它们全部进行编码。具体规则: 1. 除下列2,3,4指明的字符外,其余字符被编码成“=”后跟表示该字符值的两个十六进制数字。“=”是引见符。“=”本身就被表示为“=3D”。 2. 十进制33到126(除61外),对应可打印的ASCII字符“!”到“”(除“=”外),仍用ASCII 编码。,MIME传输编码quoted-printable,3. 字节值为十进数9, 23 时,仍分别编码为ASCII字符,(空格),若它们出现在报文行末尾, 则按规则1编码。因有些MTA在报文行末尾填充空格或删除空格,这样可防止空格被删。 4. RFC822规定的标准行分隔符仍编码为。

24、 5. Quoted-printable编码要求每个编码行不超过76字符(不包括末尾的,对于太长的行就插入“=”来分行。,MIME传输编码,在传输非 ASCII 报文时,若MTA都支持传输8位字节的 MIME 报文,则传输编码采用 8bit 最简单,否则要作转换。当报文中包含大量非 ASCII 字符时,应采用base64,否则采用quoted-printable。,MIME报文类型,1. text(文本):表示报文体是文本信息, 子类型有: plain:基本子类型,表示无格式文本。 html:表示报文体是用超文本标记语言写的。 2. message(邮件报文):表明报文体中封装有其它邮件报文。

25、子类型有: rfc822:基本子类型,表明报文体是按RFC822封装的报文。 partial:定义部分报文,允许太长的报文分段。,MIME报文类型(续),3. image(图象):表示报文体是静止图象, 子类型: jpeg:表示 jpeg 格式的压缩图象。 gif:表示 gif 格式的压缩图象。 4. audio/basic:表示PCM编码的音频数据。 5. video/mpeg:表示mpeg格式的视频数据。 6. application(应用):表示二进制数据或需要其它应用程序解释的信息。子类型有: octet-stream:表示二进制数据。 msword:表示Windows的Word文档。,MIME报文类型(续),7. multipart(多部):报文体由多个不同的部分组成,每个部分有独立的报文类型。多部类型有一个重要参数,即封装边界,由它指示各部的分界。每个部分以一个封装边界开始,其余从形式上类似于一个RFC822报文。子类型有mixed;alternative等。目前在邮件用户代理上允许用户在报文中附加文件作为附件,而邮件系统实际上是将报文和此文件做成multipart,第1部分是Content-Type:text/plain,第2部分可以是Content-Type:application/msword。,

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

当前位置:首页 > 通信信息 > 电子设计

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报