首页 文章

什么规则适用于MIME边界?

提问于
浏览
35

在编写MIME时,可以将消息的不同块与特定边界分开 . 我出于某种原因失败了找到解释这个边界的任何文件,但这是我从例子中收集的内容:

  • 边界可以是任何字母和数字串,i . 即“d29a0c638b540b23e9a29a3a9aebc900aeeb6a82” .

  • 没有生成边界的规则,你可以md5sum你心爱的名字,在这里,你已经有了你的边界 .

  • 如果要通过HTTP发送MIME,则必须添加 Headers “Content-Type”,指定您执行此操作,并且 Headers 的边界内容可能如下所示:

多部分/格式的数据;边界= d29a0c638b540b23e9a29a3a9aebc900aeeb6a82

  • 在邮件正文中,边界应以“ - ”开头,如:

--d29a0c638b540b23e9a29a3a9aebc900aeeb6a82

但遵循这些规则(和this有用的答案)我无法生成服务器可以接受的POST查询 . 我错过了什么吗?我弄错了吗?

1 回答

  • 59

    syntax of a boundary是:

    boundary:= 0 * 69 <bchars> bcharsnospace
    bchars:= bcharsnospace /“”
    bcharsnospace:= DIGIT / ALPHA /“'”/“(”/“)”/
    “”/“_”/“,”/“ - ”/“ . ” /
    “/”/“:”/“=”/“?”

    并且body of a multipart entity具有语法(仅重要部分):

    multipart-body:= [序言CRLF]
    短划线运输填充CRLF
    body-part * encapsulation
    close-delimiter transport-padding
    [CRLF结语]
    破折号边界:=“ - ”边界
    encapsulation:= delimiter transport-padding
    CRLF身体部位
    分隔符:= CRLF破折号边界
    close-delimiter:= delimiter“ - ”

    前面的 -- 对于消息中使用的每个边界都是必需的,并且尾部 -- 对于结束边界(close-delimiter)是必需的 . 因此,具有三个身体部位且具有 boundary 作为边界的多部分身体可以如下所示:

    --boundary
    1. body-part
    --boundary
    2. body-part
    --boundary
    3. body-part
    --boundary--
    

相关问题