我们知道,现在的电子邮件已经基本上取代了传统的邮件。电子邮件不仅可以用文字来叙述,还可以加载音乐图像等多媒体形式。随着网络的不断革新,邮件也可以承载不同类型的文件进行传输。这个就需要MIME协议的支持了。
多用途网际邮件扩充协议(MIME)是 Multipurpose Internet Mail Extensions 的缩写,说明了如何安排消息格式使消息在不同的邮件系统内进行交换。MIME 的格式灵活,允许邮件中包含任意类型的文件。MIME 消息可以包含文本、图象、声音、视频及其它应用程序的特定数据。具体来说,MIME 允许邮件包括:
单个消息中可含多个对象;
文本文档不限制一行长度或全文长度;
可传输 ASCII 以外的字符集,允许非英语语种的消息;
多字体消息;
二进制或特定应用程序文件;
图象、声音、视频及多媒体消息。
MIME协议复合消息的目录信头设有分界标志,这个分界标志绝不可出现在消息的其它位置,而只能是在各部之间以及消息体的开始和结束处。
MIME协议的安全版本 S/MIME(Secure/Multipurpose Internet Mail Extensions)设计用来支持邮件的加密。基于 MIME 标准,S/MIME 为电子消息应用程序提供如下加密安全服务:认证、完整性保护、鉴定及数据保密等。
传统的邮件用户代理(MUA)可以使用 S/MIME 来加密发送邮件及解密接收邮件。然而,S/MIME 并不仅限于邮件的使用,它也能应用于任何可以传送 MIME 数据的传输机制,例如 HTTP。同样,S/MIME 利用 MIME 的面向对象特征允许在混合传输系统中交换安全消息。
此外,S/MIME 还可应用于消息自动传送代理,它们使用不需任何人为操作的加密安全服务,例如软件文档签名、发送到网上的 FAX 加密等。
MIME协议结构
MIME邮件头字段定义如下:
实体头:=[目录CRLF][编码CRLF][ID CRLF][描述CRLF]*(MIME扩展字段CRLF)
MIME消息头:=实体头
字段
CRLF版本
在BNF定义中声明的消息头字
段顺序应该忽略;
MIME局部头:=实体头
[字段]
不从“目录”开始的任何字段
没有具体含义,可忽略。
在BNF定义中声明的消息头字
段顺序应该忽略;
消息格式和S/MIME实现过程在相关文件中可以查阅。