多部分电子邮件中的数字是什么意思?

lee*_*d00 3 email multipart

我正在查看来自Thunderbird的多部分消息的来源(希望从C++/Javascript编写我自己的多部分消息)

我想知道以下是什么意思(电子邮件的纯文本部分和html部分之间的部分)以及如何为我自己的程序计算它以生成多部分电子邮件:

This is a multi-part message in MIME format.

------=_NextPart_32252.1057009685.31.001
Content-Type: multipart/alternative;
    boundary="----=_NextPart_32252.1057009685.31.002"
Content-Description: Message in alternative text and HTML forms


------=_NextPart_32252.1057009685.31.002
Run Code Online (Sandbox Code Playgroud)

(如看到这里)

消息代码的其余部分对我来说对于帖子部分是有意义的.

Dan*_*ant 15

您在边界分隔符中看到的数字并不一定意味着什么(尽管RFC并不排除实现者试图包含某些含义).

它们必须是唯一的,并且不包含在它们封装的部分中.

来自RFC 2046:

5.1.多部分媒体类型

在多部分实体的情况下,其中一个或多个不同的数据集合在一个主体中,"多部分"媒体类型字段必须出现在实体的头部中.然后,身体必须包含一个或多个身体部位,每个身体部位前面都有一个边界分界线 ......

如前所述,每个正文部分前面都有一个包含边界定界符的边界定界符. 边界定界符不得出现在任何封装的部分内,单独一行或作为任何行的前缀 ......

...

5.1.1.通用语法

多部分实体的Content-Type字段需要一个参数"boundary".然后将边界定界符行定义为一个完全由两个连字符(" - ",十进制值45)组成的行,后跟来自Content-Type头字段的边界参数值,可选的线性空格和终止的CRLF.

...

注意: 由于边界分隔符不得出现在要封装的正文部分中,因此用户代理必须谨慎选择唯一的边界参数值. 边界参数值[可以]是设计用于产生边界定界符的算法的结果,该边界定界符具有在待封装的数据中已经存在的非常低的概率,而不必预扫描数据. ...最简单的边界定界线可能是"---",其边界定界线为"-----".