0

我正在创建一个具有 API 功能的电子邮件客户端。其中一项功能是提供 API 调用来下载给定的附件。

要获取附件,给定文件名和唯一电子邮件 ID(使用 GMail X-MSG-ID 唯一标识符),我正在下载整个电子邮件,使用 FETCH 命令和 RFC822 命令。这自然是很沉重的。

我想要做的是只下载作为附件的 BODY 部分,例如 BODY[1]、BODY[2] 等。我知道获取 BODYSTRUCTURE 会给我一个格式为(“PART”, “等”)(“部分”,“等”)。我想知道的是这些部分如何映射到 BODY[0]、BODY[1] 等。

零件出现在 BODYSTRUCTURE 响应中的顺序是否直接映射到 BODY 索引?因此,如果调用 BODYSTRUCTURE 我得到 ("123","ETC")("456","ETC")("789","ETC"),我可以假设 BODY[0] 是“123”并且 BODY [1] 是“456”吗?或者是否有另一种方法可以将 BODYSTRUCTURE 响应中括号中的元素映射到 BODY[0]、BODY[1] 等?

谢谢

4

1 回答 1

0

我已经通过反复试验解决了这个问题。

BODY indeces 会出现在 BODYSTRUCTURE 响应中。因此,使用上面的示例,如果在 BODYSTRUCTURE 响应中获得 ("123","ETC")("456","ETC"),那么当您调用 BODY[1] 时,您将获得“123”部分,当您调用 BODY[2] 时,您将获得“456”,依此类推。

于 2013-01-21T21:40:34.260 回答