在RFC for IMAP,RFC for MIME Format of Internet Message Bodies和RFC for MIME Media Types之间,我看不到有关MIME边界生命的明确说明。只要该消息存在,消息的一部分的MIME边界是否必须保持不变?
我已经了解了Clever Internet Suite如何实现其IMAP服务器,并且似乎即时生成(并重新生成)边界,即针对同一邮箱执行的单独命令将获得相同部分的不同边界相同的消息。这意味着如果您将边界作为BODYSTRUCTURE
的一部分请求并稍后检索身体部位,那么您可能会收到边界与BODYSTRUCTURE
请求中指示的边界不同的身体部位。
答案 0 :(得分:3)
只要该消息存在,消息的一部分的MIME边界是否必须保持不变?
是
似乎边界是在运行中生成(并重新生成),即针对同一邮箱执行的单独命令将为同一消息的相同部分获得不同的边界。
这是非常可怕的。
BODYSTRUCTURE
响应的一部分是Content-Type参数值,其边界是其中之一。它不能在会话之间进行更改,也不介意在命令之间进行更改。
边界不能简单地在运行中重新生成的原因之一是,对于多部分/有符号部分,为了验证数字签名,您需要逐字节地逐字节地序列化子树。当它最初签名或显然无法验证时。