首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与下载数据和内存大小相关的JavaMail IMAP概念

问与下载数据和内存大小相关的JavaMail IMAP概念
EN

Stack Overflow用户
提问于 2015-06-15 16:34:28
回答 1查看 181关注 0票数 0

我现在使用android来实现同步IMAP消息。我关心的是记忆和表现。因此,在使用java邮件api时,我想得到更清晰的概念。

当从商店获取收件箱文件夹时,我将其转换为IMAP文件夹。我不需要使用pop3(完全忽略pop3)。

代码语言:javascript
复制
IMAPFolder inbox = (IMAPFolder) store.getFolder("INBOX")
  1. 我想知道消息messages[] = inbox.getMessages();这只是创建收件箱消息计数数组吗?
  2. 我看到了关于POP3的一些解释。POP3需要下载所有消息。因此,为了有效下载,应用程序可以使用FetchProfile添加信息的哪一部分要下载。在IMAPMessage、getFrom()、getSubject()中也是这样吗??例如:IMAPMessage msg = (IMAPMessage) messages[i]; Log.i(TAG, "UID": + inbox.getUID(msg)); Log.i(TAG, "SUBJECT:" + msg.getSubject()); 在我的示例代码中,我没有使用FetchProfile,我只是使用消息数组来获取我想要的信息?但是我想知道它在javamail库中是如何处理的?
  3. 在使用字符串进行搜索时,搜索并重写要查找的匹配()。它循环遍历每条消息以找到匹配的消息数组。 Message[] message =inbox.search(新的SearchTerm() { xxxx }) 所有IMAP消息都是从服务器下载的吗?如果我们需要做几个搜索词,那么下载的消息会缓存到下一个搜索吗?如何做更有效的搜索?例如,如果需要搜索messageId。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-15 23:48:39

  1. 是的,它创建消息对象来表示文件夹中的每个消息。
  2. 使用Folder.fetch和FetchProfile将使其预取所请求的数据并将其存储在相应的消息对象中。如果没有预取,数据将按需获取,一次只取一条消息。
  3. 内置搜索项被转换为IMAP搜索命令,这些命令在服务器上执行.如果您创建了自己的搜索项,例如,通过子类现有的搜索项,则需要将消息数据下载到客户端以在那里执行搜索。已经有一个标准消息-ID搜索术语了。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30850386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档