编码的种类
RFC 821(SMTP)将邮件限制为7位US-ASCII数据算上crlf不超过1000个字符。
当前定义了三种编码方式: identity (“等同”也就是不编码)、qp、base64。三种范围:二进制、8bit、7bit。
当Content-Transfer-Encoding的值为 "7bit", "8bit", "binary" 之一时,意味着不编码。仅仅提供了邮件体数据的范围。
1、为了大的二进制数据紧凑高效的编码
2、为了可读数据绝大多数仍然可读的编码
产生了一个或多或少可读的编码(quoted-printable)和“紧凑”或“统一”编码(base64)。
Content-Transfer-Encoding 字段限制的值为:"7bit" / "8bit" / "binary" /"quoted-printable" / "base64" /ietf-token / x-token
其中x-token是自定义编码方式,ietf-token是
An encoding type of 7BIT requires that the body is already in a 7bit mail-ready representation. This is the default value -- that is, "Content-Transfer-Encoding: 7BIT" is assumed if the Content-Transfer-Encoding header field is not present.
7bit编码需要邮件体已经是7bit表示,也就是说解码时只需要检测编码是不是符合7bit规则,如果符合不会解码。7bit是默认编码类型。
编码的定义
1、7bit
参考rfc2045
7bit编码是指在CRLF行之间用998个八位字节或更少的字节表示的数据。 其中不允许十进制值大于127的八位字节,也不允许NUL(十进制值为的八位字节)。
CR(十进制值13)和LF(十进制值10)仅仅作为行之间分离符号出现(crlf之后的数据按新行计数)。
8bit编码是指在CRLF行之间用998个八位字节或更少的字节表示的数据。 其中允许十进制值大于127的八位字节,不允许NUL(十进制值为的八位字节)。
CR(十进制值13)和LF(十进制值10)仅仅作为行之间分离符号出现(crlf之后的数据按新行计数)。
3、binary
参考rfc2045
二进制数据允许任何形式表示。
目前市场上的邮件安全产品大都是一套封闭邮件系统,部署上存在使用户放弃原来的账户使用新账户的问题,这就导致在部署时存在一定困难。在邮件透明加密产品中,天御云安的隐秘邮很新颖,使用安全邮件网关对邮件透明加密,用户完全感知不到邮件网关的存在,但是邮件在服务器上却穿上了盔甲,任你黑客攻破服务器,看到的邮件却是一堆乱码。隐密邮网址:https://mail.tyyunan.com/