822与邮件协议介绍全解.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
822与邮件协议介绍全解

RFC822: 一、简介 1977年,Arpnet在他们开发的几个非正式文本消息传送标准的基础上,制订了“Arpnet网络之间文本消息格式标准”,即RFC#733。后来为了适应更大、更复杂的Arpnet网,对RFC#733作了一些修订,形成了RFC#822。虽然RFC#822是专门为Arpnet网设计的,但其他网络之间的文本消息传输也可以用 二、适用范围 只对邮件的头部部分做出了规范,对消息体没有做出任何规范。 三、主要语法规则 Field = Field Name + “:” + Field Body + CRLF 例如 时间 Date: Thu, 18 Jan 2001 14:21:34 +0800 (CST) 地址 from: “hetielin”hetl@ 四、实现 分离邮件的字段体和字段体,存贮在线性链表中 MIME协议: 一、简介 MIME(Multipurpose Internet Mail Extensions),RFC#822定义了消息头的传输标准,而把消息体当成纯ASCII文本。这个文档重新定义了消息体的格式,使得消息体可以在交换非文本信息时不会失真。同时也使得消息可以在RFC#822主机和X.400主机(认为在消息体中加入非文本信息是合法的)之间进行交换。 二、消息头格式扩展 主要是为了解决如下三种情况 在参数值当中使用非ASCII字符 明确需要显示参数指示所用的语言 参数值过长的问题 例子一 Content-Type: message/external-body; access-type=URL; URL*0=ftp://; URL*1=/pub/moore/bulk-mailer/bulk-mailer.tar 在语义上等价于 Content-Type: message/external-body; access-type=URL; URL=/pub/moore/bulk-mailer/bulk-mailer.tar 其中*后面加一个正整数表示用多行代表一个参数值 例子二 Content-Type: application/x-stuff; title*=us-asciien-usThis%20is%20%2A%2A%2Afun%2A%2A%2A 参数名后面紧跟*表示后面有字符集(character set)和语言(language)信息,参数值当中单引号()表示前面是字符信息或者语言信息,百分号(%)表示后面跟的是一个用十六进制编码的字符。 例子三 Content-Type: application/x-stuff title*0*=us-asciienThis%20is%20even%20more%20 title*1*=%2A%2A%2Afun%2A%2A%2A%20 title*2=isnt it! 该例子综合运用了例子一和二当中出现的情况 例子四 From: =?US-ASCII*EN?Q?Keith_Moore?= moore@ 该例子代表的是在encoded-word当中使用语言信息的情况,语言信息跟在星号后 同时encoded-word 的语法原为 encoded-word := =? charset ? encoding ? encoded-text ?= 这个文档把其更改为 encoded-word := =? charset [* language] ? encoded-text ?= 三、两种编码方式 Quoted-Printable Content-Transfer-Encoding Quoted-Printable编码保持ASCII范围内的字符不变,把其他数据以可打印的ASCII字符集表示出来,这些数据大部分由八位字节符组成的,经过这种编码后的八位字节符不会在邮件传输过程中失真。 编码规则如下: 任何8位字节,除了指示换行的外,都可表示为=,后面接两个表示8位字节值的十六进制字符。如12可表示为=0C 在33到60范围内(含33与60)和62到126(含62与126)内的8位字节数均以其对应的ASCII字符来显示 具有9和32的8位字节符可以以其对应的ASCII字符来表示,但是当这些8位字节符在文本行的末端出现时,这些字节数必须用规则一进行编码的原因是一些Internet消息传输代理(MTA)从消息行的末尾删除尾部的空字符,尽管这对文本消息无损,但可能破坏二进制消息 在文本体中,换行符可以使用标准的RFC822换行符来表示,转换方

文档评论(0)

70后老哥 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档