电子邮件客户端如何读取内容类型标头以进行编码?

时间:2015-12-10 13:03:30

标签: email character-encoding smtp imap

可以发送包含不同内容类型的电子邮件:text / html,text / plain,mime等。也可以使用不同的编码,包括(根据RFC)标题字段:us-ascii ,utf8等。

你如何解决鸡蛋问题? content-type标头只是几个标头中的一个。如果标头可以是任何编码,如果邮件服务器或客户端不知道标头本身的编码是什么,它们如何知道如何读取content-type标头?

如果是第一行,我可以看到它,例如必须是content-type,它必须采用预先商定的编码(例如ascii),但事实并非如此。

如何解析其编码作为字符串嵌入到同一个流中的字节流?

1 个答案:

答案 0 :(得分:1)

标题定义为ascii。如果同意带外,它们可以是utf-8,例如通过smtp或imap utf-8功能扩展。

标题中的国际化是通过“编码的单词”执行的,其中编码是标题数据的一部分。 (这看起来像一个字符串,如=?iso8859-1?q?sample_header_data?=)。见rfc2047。

内容类型标题不适用于标题本身,仅适用于正文内容。