“多用途互联网邮件扩展(MIME)是一个详细阐述电子邮件和多媒体数据传输的规范,它是对1982年制定的RFC822标准的扩展和增强。”
MIME,全称Multipurpose Internet Mail Extensions,是互联网标准,用于扩展电子邮件系统以支持非ASCII字符和多种媒体类型的数据。这一标准最初设计是为了克服RFC822邮件标准的局限性,即仅支持ASCII字符集和纯文本邮件。MIME允许邮件中包含图像、音频、视频以及其他类型的数据,极大地丰富了电子邮件的内容。
**一、RFC822基础**
1. **电子邮件结构**:RFC822定义了邮件的基本结构,包括源地址、目的地址、日期、可选头段和邮件正文。
2. **源地址和目的地址**:指发送者和接收者的邮箱地址。
3. **日期**:邮件发送的时间戳。
4. **可选头段**:如主题、回复地址等附加信息。
5. **用户自定义段**:允许用户添加自定义的头部信息。
6. **例子和解释**:提供了实际的邮件示例,帮助理解标准。
**二、MIME概述**
MIME通过引入新的头字段和编码机制,扩展了邮件内容的表示方式,支持多种编码方法和数据类型。
**三、编码转换**
1. **quoted-printable**:适合于对含有少量非ASCII字符的文本进行编码。
2. **Base64**:适用于所有类型的二进制数据,将二进制数据转化为可打印的ASCII字符。
3. **7bit、8bit和binary**:分别代表不同的数据传输模式,7bit为纯ASCII,8bit允许非ASCII的拉丁字符,binary则无限制。
**四、类型/子类型**
1. **文本类型**:如text/plain,支持各种文本格式。
2. **图象、声音和视频类型**:如image/jpeg、audio/mpeg、video/mp4,允许包含多媒体内容。
3. **程序数据类型**:如application/pdf,可以发送文档或执行程序。
4. **分块类型(Multipart)**:如multipart/mixed,将多个部分的邮件组合在一起。
5. **Message类型**:如message/rfc822,用于嵌套邮件或者转发邮件。
**五、邮件头段中的字符编码**
MIME解决了非ASCII字符在邮件头段中的表示问题,如RFC2047定义了非ASCII文本的编码规则。
**六、邮件附件**
MIME允许邮件携带附件,通过Content-Type和Content-Disposition头字段来定义附件的类型和展示方式。
**七、聚合邮件(aggregated message)**
1. **Multipart/Related**:用于关联多个部分,如HTML邮件中图片与HTML代码的关系。
2. **Content-ID**:标识邮件中的特定部分,通常用于引用内联图像。
3. **Content-Location**:指定内容的URL,有助于解析多媒体内容。
4. **多层聚合**:允许创建更复杂的邮件结构,包含嵌套的Multipart类型。
MIME不仅在电子邮件中应用广泛,还在其他领域,如HTTP协议、Web存储(如MHT文件)等有重要角色。MIME的5个关键RFC文件定义了其完整规范,它们是理解MIME技术的基础。通过理解这些规范,开发者和网络通信工程师能够更好地处理和构建支持MIME的系统和服务。