1、MIME 全称:”Multipurpose Internet Mail Extensions“ 中文:”多用途互联网邮件扩展“,展示的是一系列的电子邮件规范,成为电子邮件实际上地标准。
2、传统的电子邮件的特点:就是规定电子邮件只能使用ASCII字符。
这导致了三个结果:
1)非英语字符都不能在电子邮件中使用;
2)电子邮件中不能插入二进制文件(如图片);
3)电子邮件不能有附件。
3、MIME对传统邮件的扩展,表现在它在邮件上加了几条语句,其中重要的3条:
第一条是:
1 | MIME-Version: 1.0 |
说明了MIME版本号
第二条是:
1 | Content-Type: text/plain; charset='ISO-8859-1' |
表明了传递信息的类型和编码类型
类型:
1 | text/plain:纯文本,文件扩展名.txt |
整个Content-Type这一行,不仅使用在电子邮件,后来也被移植到了HTTP协议中,所以现在只要是在网上传播的HTTP信息,都带有Content-Type头,以表明信息类型。
传统邮件不支持ASCII码和二进制数据,所以规定了第三条数据:
1 | Content-transfer-encoding: base64 |
base64编码是用于传输二进制数据的方案,Base64将数据作为24位组处理,将该数据映射到四个编码字符。它有时被称为3到4编码。24位组的每6位用作映射表(base64字母表)的索引,以获得编码数据的字符。编码数据的行长限制为76个字符。base64编码中使用的字符,base64字母表,不包括对SMTP或与MIME边界字符串一起使用的连字符的重要特殊字符。
许多邮件传输代理只能处理短字符的US-ASCII字符。这被称为“7bit”或有时称为“7bit编码”文本。SMTP强加了这个限制。为了在互联网上发送更丰富的文件类型,以便所有的MTA都可以正确处理它们,必须使用某种编码。编码的目的是仅使用7位字符和有限的行长来表示文件的内容。该文件可以是图像文件,可执行文件或任何通用二进制文件。
虽然定义了五个内容传输编码值,以及可扩展X令牌,base64和quotable-printable是MIME定义的唯一实际的编码方案