RFC2045、2046、2047、2048、2049MIME多用途互联网邮件扩展是互联网标准,它扩展了电子邮件标准,使其能够支持非ASCII字符、二进制格式附件等多种格式的邮件消息。
由RFC 822转变而来的RFC 2822,规定电子邮件标准并不允许在邮件消息中使用7位ASCII字符集以外的字符。正因如此,一些非英语字符消息和二进制文件,图像,声音等非文字消息都不能在电子邮件中传输。MIME规定了用于表示各种各样的数据类型的符号化方法。
此外,在万维网中使用的HTTP协议中也使用了MIME的框架。
一、MIME与SMTP关系
MIME并没有改动SMTP或取代它。 |
MIME的意图是继续使用目前的[RFC 822]格式,但增加了邮件主体的结构,并定义了传送非ASCII码的编码规则。 |
MIME实际上增加了SMTP的功能。 |
二、SMTP有以下缺点
SMTP不能传送可执行文件或其他的二进制对象。 |
SMTP限于传送7位的ASCII码。许多其他非英语国家的文字(如中文、俄文,甚至带重音符号的法文或德文)就无法传送。 |
SMTP服务器会拒绝超过一定长度的邮件。 |
某些SMTP的实现并没有完全按照[RFC 821]的SMTP标准。 |
三、MIME Headers主要包括三个部分
MIME-Version: 1.0 Content-Type: multipart/mixed; Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable |
1、5个新的邮件首部字段,它们可包含在[RFC 822]首部中。这些字段提供了有关邮件主体的信息
MIME-Version: 标志MIME的版本。现在的版本号是 1.0。若无此行,则为英文文本。 |
Content-Description: 这是可读字符串,说明此邮件是什么。和邮件的主题差不多。 |
Content-Id: 邮件的惟一标识符。 |
Content-Transfer-Encoding: 在传送时邮件的主体是如何编码的。 |
Content-Type: 说明邮件的性质。 |
2、定义了许多邮件内容的格式(Content-Type),对多媒体电子邮件的表示方法进行了标准化
MIME标准规定Content-Type说明必须含有两个标识符,即内容类型(type)和子类型(subtype),中间用“/”分开。 |
MIME标准定义了7个基本内容类型和15种子类型。 |
3、定义了内容传送编码(Content-Transfer-Encoding),可对任何内容格式进行转换,而不会被邮件系统改变
最简单的编码就是7位ASCII码,而每行不能超过1000个字符。MIME 对这种由ASCII码构成的邮件主体不进行任何转换。 |
quoted-printable编码方法适用于当所传送的数据中只有少量的非ASCII码。 |
对于任意的二进制文件,可用base64编码。 |