从 JavaMail 消息中预取预览文本

2023-12-04

我正在使用 JavaMail 1.5.2 读取来自 IMAP 帐户的邮件。为了减少对主机的请求数量,我预取了一些消息数据,例如发件人、日期、消息 ID 等:

Folder folder = store.getFolder("inbox");
folder.open(Folder.READ_ONLY);

FetchProfile fp = new FetchProfile();
fp.add(FetchProfile.Item.ENVELOPE);
fp.add(FetchProfile.Item.CONTENT_INFO);
fp.add("Message-ID");

Message msgs[] = folder.getMessages();
folder.fetch(msgs,fp);

但是,我也想预取some部分内容来创建邮件的预览文本,而无需加载包含所有附件的完整邮件。例如,我想预取类型为“text/plain”并且没有附件的内容的所有部分。那可能吗?

PS:我不是在寻找像这样的解决方案fp.add(IMAPFolder.FetchProfileItem.MESSAGE)因为这将预取whole带有所有附件的消息。


你必须检索身体结构首先,然后循环遍历消息结构,检查每个部分的 mime 类型,并下载所需的部分。 IMAP 允许您使用一个命令下载所有部分,因此如果 Javamail 有点聪明,您应该能够使用两个 IMAP 命令来完成此操作,无论您最终想要下载多少正文部分。

如果您是喜欢查看有线流量的人,IMAP 命令应该类似于a uid fetch 234789 bodystructure其次是b uid fetch 234789 (body.peek[1.1] body.peek[2]).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 JavaMail 消息中预取预览文本 的相关文章

随机推荐

  • Excel VBA 将关闭的工作簿作为值复制并粘贴到活动工作簿,Mac OS X

    我知道这是一种常见的查询类型 但在主动搜索后 我尚未找到针对我的特定实例的答案 我也是一个VBA新用户 所以请耐心等待 我想要将包含实时公式 范围 A1 HW6000 的整个数据表 HISTORY XLSM 中的 AllDATA 选项卡 从
  • 如何使用 Watir 访问 Shadow DOM 并与之交互?

    我需要访问此页面 chrome downloads 并检查文件是否已下载 但它是 Shadow DOM 我发现这篇文章如何使用 Selenium Webdriver 访问 DOM 元素 http jeremysklarsky github
  • HTML - 如何制作“阅读更多”按钮

    在我的网站上 我有我的博客 我希望每张卡片都有一个 阅读更多 按钮 我特别希望它只显示x折叠时显示单词 非字符 然后展开时显示整个文本 我不想有一个按钮可以转到另一个具有完整内容的页面 因为我正在使用自己构建的 CMS 它会自动从表单添加帖
  • 将鼠标悬停在 Raphaeljs 中的一组元素上

    我有一个只包含一个矩形的集合 var hoverTrigger this paper set var outline this paper rect outline attr hoverTrigger push outline this s
  • Blazor InputSelect 中显示第一个选项,但值为 null

    我在 Razor 组件中遇到了 InputSelect 元素的奇怪行为 在我的输入表单上 我有几个与模型 合作伙伴 绑定的字段 我以下拉选择的形式放置了其中一些字段 因为绑定字段的 PartnerCategory 值是 id 整数 所以我从
  • SSRS 导出到 Excel 隐藏/取消隐藏问题

    我有一份 SSRS 2008 报告 其中我必须隐藏一些列并导出到 Excel 导出到 Excel 后 要求规定这些列应该在 Excel 中取消隐藏 请建议一种方法来做到这一点 因为我听说这根本不可能 提前致谢 这是可以做到的 但我相信只有部
  • 使用 jQuery 在切换开关上旋转图像

    有问题的网站 http mtthwbsh com 我正在尝试创建一个可折叠的导航 在切换时 箭头指向上方 隐藏时指向下方 我一直在阅读有关使用 jQuery 旋转图像的内容 并发现这是我最好的资源 使用 jQuery 旋转图像 OnClic
  • 从Power BI导出百万行表克服了15万行的限制

    有没有办法克服 Power BI 导出 150k 行的最大限制 限制文档 https learn microsoft com en us power bi visuals power bi visualization export data
  • 使用 iOS NumberFormatter 将小数格式化为分数表示

    在 iOS 中 如何使用 NumberFormatter 将数字的小数部分格式化为其小数表示形式 例如我想格式化数字2 375 as 2 3 8 可以用 NumberFormatter 来完成吗 不 您需要实现您自己的 Rational F
  • 什么表明 Office Open XML 单元格包含日期/时间值?

    我正在使用以下命令读取 xlsx 文件Office 开放 XML SDK并且对读取日期 时间值感到困惑 我的一个电子表格有此标记 由 Excel 2010 生成
  • Capistrano 和 X-Sendfile

    我正在尝试让 X Sendfile 使用 capistrano 来处理我的繁重附件 我发现 X Sendfile 不适用于符号链接 我如何处理 Capistrano 符号链接的文件夹内的文件 我的网络服务器是apache2 passenge
  • 具有可选值的 Scala 案例类副本

    我想制作一个案例类的副本 并使用第二个案例类中的可选值对其进行更新 case class A id Int a String b String c String case class Update a Option String b Opt
  • 如何在WP8中使用AudioVideoCptureDevice录制视频

    Here它说我可以使用录制视频AudioVideoCaptureDevice但没有提供示例或帮助 我需要做以下事情 将视频录制到流中DONE 显示录制视频的缩略图 可以是视频录制时捕获的帧 DONE 回放录制的视频DONE 更改相机的分辨率
  • 通过gradle上传到artifactory时如何更改jar文件名

    我正在使用 gradle 来将 jar 上传到神器 我设法做到了 但是我试图更改 jar 文件名 但它并没有真正让我这么做 我使用的是shadowJar来打包 我就是这样做的 apply plugin java apply plugin m
  • 在 matlab 中搜索结构的平行行以查找常见项目

    我存储了 行 列 值 信息 key1 1 1 1 2 1 3 4 2 3 4 attribute1 2 3 4 2 5 如下 Structure A1 key row1 1 1 1 4 3 key col1 1 2 3 2 4 attrib
  • 如何在 Struts 2 中使用 标签?

    我有下面的 Struts 2 标签 我需要检查属性是否value attr row Commentaire不为空 如果不为空 则显示一个小图标 用户可以单击它并查阅属性的内容value attr row Commentaire 我怎样才能使
  • 允许多个 IP 通过 .htaccess 访问 WordPress 站点管理

    我目前有一个正在升级的 WordPress 网站 并且在 htaccess 文件中有一个维护重定向设置 我可以允许我自己的 IP 访问站点和管理员 但如何允许其他编辑者也可以访问多个 IP 访问 我目前正在使用 RewriteEngine
  • java GC 是怎么回事? PermGen 空间已满?

    我不知道我的 java 进程发生了什么 这个过程就是一个索引过程 它从一组 zip 文件中读取文档 并将它们添加到 lucene 索引中 GC日志显示只是连续运行Full GC 4959 569 Full GC 19960K gt 1996
  • 如何让进度条在浏览器导航时正常工作?

    我正在 C 上使用进度条和 Web 浏览器控件 但我不知道如何在导航时制作一个平滑的进度条 您是否能一步一步创建它 我将不胜感激 Use WebBrowser ProgressChanged Event private void WebBr
  • 从 JavaMail 消息中预取预览文本

    我正在使用 JavaMail 1 5 2 读取来自 IMAP 帐户的邮件 为了减少对主机的请求数量 我预取了一些消息数据 例如发件人 日期 消息 ID 等 Folder folder store getFolder inbox folder