gpt4 book ai didi

java - 如何将 Internet mime 消息的所有内容复制到 Notes 中的正文项?

转载 作者:行者123 更新时间:2023-12-02 01:42:23 28 4
gpt4 key购买 nike

我需要将 Internet 邮件的整个正文内容复制到新的 Notes 文档中。

Object internetMsgBody = internetMsg.getContent();

MIMEEntity notesBodyItem = notesDocument.createMIMEEntity("Body");
Stream mimeStream = dominoSession.createStream();
...?...
notesBodyItem.setContentFromBytes(mimeStream, msgContentType,
MIMEEntity.ENC_NONE);

internetMsgBody 可以是 String、MimeMultiPart 或 InputStream(根据文档)。我知道如何处理 String :) 但对于其他对象类型,我需要一些帮助。不需要任何 MIME 或 Parts 内容类型处理。

谢谢!

最佳答案

在 Notes 中,多部分 MIME 消息表示为一组具有相同名称(通常是 Body)的项目,其中每个项目都是 TYPE_MIME。将 MIMEEntity 实例视为与这些项目中的单个项目相对应。换句话说,MIMEEntity 代表单个 MIME 部分。

因此,如果您的输入是多部分 MIME 消息,您可能必须将消息解析为各个部分,并为每个部分创建一个 MIMEEntity。不幸的是,Java 后端类不包含 MIME 解析器。当然,您的问题表明 internetMsg.getContent() 可能 返回 MimeMultipart。如果是这样,听起来 MIME 已经为您解析了。

无论哪种方式 - 无论您的输入是由多个部分组成的流还是 MimeMultipart - 我建议您查看 MimeMessageParser.java来自 XPage 扩展库。它使用 mime4j 来解析输入流。如果流中有多个部分,它会使用 MIMEEntity 将每个部分写入为单独的项目。尽管 mime4j 的使用听起来并不相关,但您可能会在该代码中找到一些有用的提示。它实现了一个非常相似的用例。

关于java - 如何将 Internet mime 消息的所有内容复制到 Notes 中的正文项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54276151/

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