工作中~
分类:
2008-07-22 14:57:39
RFC2822不仅定义了邮件信息本身的格式,也规范了邮件地址在邮件标头里的格式(与“信封地址”无关)。规范文件所描述的格式化是用于传输的格式,而非存储在邮箱里的实
际格式,虽然有些邮件系统使用相同或类似的格式来存储邮件。一封信可分成两大部分:
标头(header)与正文(body)。标头含有许多特定名称的字段,诸如To:、From:、Subject:等,这些字段有一个共同特点,那就是名称之后都有一个冒号(:);在冒号
之后是字段的内容。一个标头字段的内容可以跨越好几行,开头为空格符(space或tab字符都算)的文本行,逻辑上都属于前一行的延伸。
RFC
2822详细规定了标头字段的格式与用途,有些字段甚至是彼此相关的,它们必须
被一起解读才有意义。最简单的电子邮件至少要包含Date:与From:这两个字段,其余字段由MTA、MUA、MDA随情况添加。除了标准字段之外,有些邮件系统也定义了自
己专用的特殊字段。
标头与正文之间以一个空白行为分界。正文包含了邮件内容本身。原则上,邮件正文的格式是没有限制的,不过,为了帮助MUA解读邮件内容,RFC
2822定义了一些标头字段来描述正文的编排格式。除此之外,邮件正文还有一项严苛的限制条件:只能包含ASCII字符。诸如图像、16bits字符(汉字))之类的二进制数据,必须事先以特殊编码
法转换成ASCII字符,才可以编出符合标准的电子邮件。如果要夹带文件,必须以MIME
或其他编码标准,将文件转换成可传输的字符。下例是一封具有标头与正文的典型邮
件。
例:邮件信息的标准格式
此例中的大部分标头字段, 不用解释你也知道其意义, 唯一需要特别说明的是Received:字段。RFC 2822并未硬性规定一定要有此字段,但是RFC 2821(smtp协议)规定收到邮件的每一个MTA,都必须在标头顶端加上自己的Received:字段,以描述该封邮件传递过程中的信息。