IMAP获取mime部分而不获取整个消息

时间:2010-01-14 10:57:59

标签: imap

我需要一些帮助来制定IMAP fetch命令,以便只获取某个mime附件,而无需获取整个身体或其他附件。鉴于以下的车身结构

(BODYSTRUCTURE (("text" "html" ("charset" "utf-8") NIL NIL "base64" 568 8 NIL NIL NIL) "mixed" ("boundary" "===============0621936444==") NIL NIL))

如何获取用于获取text / html部分的fetch命令? 我已经多次阅读RFC3501的第6.4.5节,但我仍然没有得到它。任何指向mime附件的获取请求的进一步示例的指针也将受到赞赏。

4 个答案:

答案 0 :(得分:6)

在我的头顶上,它会是这样的:

FETCH 88 BODY.PEEK[1]

其中88是第88条消息,1是正文部分。

答案 1 :(得分:3)

试试这个:

FETCH uid BODY.PEEK[1.2]

答案 2 :(得分:1)

UID FETCH uid_of_the_mail BODY[1.2]是第一个内联附件。好吧,对于gmail,1表示TEXT,2-N表示附件。对于TEXT,1.1应为第一个内联附件,{N-1应为第N个内联附件。

答案 3 :(得分:-1)

首先你需要解析bodystructure响应,然后找到每个部分的字符串,一旦你获得了每个部分的字符串,那么你可以获取所需的部分mime。

假设你需要获取第一部分mime然后命令应该像这样

。 FETCH msgno(BODY [1.MIME])