gpt4 book ai didi

java - 如何获取项目的 mimetype?

转载 作者:行者123 更新时间:2023-11-30 04:01:29 25 4
gpt4 key购买 nike

我需要获取项目对象的 MimeType:

我有什么:- 来自 EWS 的项目对象 (microsoft.exchange.webservices.data.Item)

我想要什么:- 该项目的 mimetype(例如字符串“text/plain”)

甚至有 mimetype 可以交换吗?

(我使用的是java ews api版本1.2.0)

最佳答案

我一直在寻找 Javamail 实现 EWS,它允许我连接到 EWS,就像我通过 Javamail 连接到任何其他协议(protocol)(IMAP、POP 等)一样。显然,MS 似乎对提供 Javamail 风格的实现不感兴趣,因为他们提供了自己的开源 EWS Java API (v2.0) https://github.com/OfficeDev/ews-java-api 。该文档仅限于入门,但如果您要编写一个完整的电子邮件客户端,那么该文档可能看起来缺乏。最好看看源码。

通读源代码后,我发现 Item.getMimeContent() 是最接近为消息信封提供内容类型的方法。但查看该方法的输出,我意识到它几乎提供了有关消息的所有内容,而不仅仅是其内容类型。

这里有两个可行的选项

  1. EmailMessage.getInternetMessageHeaders().find("Content-Type").getValue() 这仅提供确切的内容类型。任何其他部分(例如边界、信息或字符集)不存在。但是,此选项将适合您的目的,因为您只对 mime 类型感兴趣
  2. 我发现的对 Javamail 更友好的替代方案是一个维护相对较少的库,名为 javamail4ews 。该库提供了 EWS Java API 和 Java Mail 之间的桥梁。您可以使用它,或者如果整体不感兴趣,请查看 EwsMessage 。它基本上将EWS Java API 中的EmailMessage 类转换为Java 的MimeMessage,后者具有相关的getContentType 方法。

关于java - 如何获取项目的 mimetype?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21905088/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com