【问题标题】:How to determine the size of an attached file from a IMAP message如何从 IMAP 消息中确定附件的大小
【发布时间】:2009-02-07 17:37:38
【问题描述】:

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

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

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

。获取 20 个正文[文本]

IMAP 服务器会像这样响应

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

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

如果有人知道这件事,请帮助我。 非常感谢。

【问题讨论】:

    标签: file java-me email size imap


    【解决方案1】:

    您必须向服务器询问该消息的 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))
    

    【讨论】:

      猜你喜欢
      • 2011-02-02
      • 1970-01-01
      • 2011-01-05
      • 1970-01-01
      • 2010-09-18
      • 2015-01-09
      • 2012-01-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多