2

我正在编写一个在 J2ME 上运行的 IMAP 邮件应用程序。这是我的高级项目。

首先,我想知道是否有任何 IMAP 消息仅获取消息正文,不包含附件?

当我将消息发送到 IMAP 服务器时,例如..

. 获取 20 个正文[文本]

IMAP 服务器将响应如下

<--车身部分-->

---MOQ1233897306fd448beb67b3c728ca47f0f5c3dbef2f 内容类型:图片/jpeg;name="card.jpg" 内容传输编码:base64 内容处置:附件;filename="card.jpg" /9j/4RPsRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAA ...

所以,我不知道如何只得到身体而不是附件!?在加载所有这些消息并计算文件大小之前,我如何知道文件大小和消息中有多少附件?

如果有人知道这一点,请帮助我。十分感谢。

4

1 回答 1

4

您必须向服务器询问该消息的 BODYSTRUCTURE:

FETCH 20 BODYSTRUCTURE

然后,您必须解析响应并确定是否存在附件。这是带有纯文本部分和三个附加图像的消息的示例响应:

20 FETCH (BODYSTRUCTURE (("TEXT" "PLAIN" ("CHARSET" "ISO-8859-15" "FORMAT" "flowed") NIL NIL "8BIT" 950 30 NIL NIL NIL)("IMAGE" "JPEG" ("NAME" "r001-023.jpg") NIL NIL "BASE64" 1708116 NIL ("INLINE" ("FILENAME" "r001-023.jpg")) NIL)("IMAGE" "JPEG" ("NAME" "r001-022.jpg") NIL NIL "BASE64" 2077114 NIL ("INLINE" ("FILENAME" "r001-022.jpg")) NIL)("IMAGE" "JPEG" ("NAME" "r001-012.jpg") NIL NIL "BASE64" 2374832 NIL ("INLINE" ("FILENAME" "r001-012.jpg")) NIL) "MIXED" ("BOUNDARY" "------------090105040606010906000608") NIL NIL))
于 2009-02-16T20:24:44.013 回答