gpt4 book ai didi

java - Domino 10 有时无法在 Java 下解码 MIME header

转载 作者:行者123 更新时间:2023-11-30 05:44:39 25 4
gpt4 key购买 nike

我有一个在 Domino 10.0.1 服务器上运行的 Java 1.8 程序,它读取 POP3/IMAP MIME 消息并从中创建 Notes MIME 邮件文档。

一切正常,除了一些(极少数)消息不转换编码的 MIME header 。然后它们以这种丑陋的格式显示在 Notes 客户端中。

From: =?utf-8?Q?Test=20Subject?= <anyname@acme.com>

我已在所有可能的位置设置“UTF-8”并禁用 MIME 到 RTF 的转换。

properties.setProperty("mail.mime.charset", "UTF-8");
...
boolean savedConversionFlag = dbGetSession().isConvertMime();
dbGetSession().setConvertMime(false);

什么可能导致这种情况?

最佳答案

我刚刚尝试过一个实验。我从我的 Gmail 帐户向我的 Notes 收件箱发送了一封主题为中文的电子邮件。 Domino 将主题存储为 RFC822 文本 项,如下所示:

Subject: =?UTF-8?B?5oiR6IO95ZCe5LiL546755KD6ICM5LiN5Lyk6Lqr5L2T44CC?=

当我在 Notes 中查看消息时,它可以正确显示中文字符。

根据我的实验和您的评论,我认为您将编码的字符串存储在纯文本项目中 - 而不是 RFC822 文本。差异很细微,但您可以通过查看 Notes 中的文档属性来验证这一点。如果您将值存储在纯文本项中,Notes 不知道应该对其进行解码。

因此,我认为您有两种选择可以在 Notes 中实现此功能:

  1. 像您当前所做的那样以纯文本形式存储项目,但首先对字符串进行解码。我认为 JavaMail 能够帮助完成解码步骤。

  2. 保留编码值,但将其存储为 RFC822 文本项。这就是 Domino 路由器的作用。

由于我不是 100% 确定如何使用 Notes Java 类执行 #2,因此我可能会从第一个选项开始。

关于java - Domino 10 有时无法在 Java 下解码 MIME header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55078883/

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