如何将 CKEditor 的 MIME 转换为与 NotesClient 上的外观相同?

Posted

技术标签:

【中文标题】如何将 CKEditor 的 MIME 转换为与 NotesClient 上的外观相同?【英文标题】:How to Convert MIME for CKEditor for look same as on NotesClient? 【发布时间】:2020-07-04 20:04:02 【问题描述】:

我通过 POP3 使用 JavaCode 下载邮件,然后保存文档邮件:

            Document doc = db.createDocument();

            MIMEEntity body = doc.createMIMEEntity("Body");
            MIMEHeader header;

            for (String key : messages.get(index).getHeaders().keySet()) 
                header = body.createHeader(key);
                header.setHeaderVal(messages.get(index).getHeaders().get(key).get(0));
            

            if (messages.get(index).getBody().length() > 0) 
                if (body.getContentType().equals("multipart")) 
                    // Create first child MIMEEntity
                    MIMEEntity child = body.createChildEntity();
                    stream.writeText(messages.get(index).getBody());
                    child.setContentFromText(stream, "", body.getEncoding());

                 else 

                    stream.writeText(messages.get(index).getBody());
                    body.setContentFromText(stream, messages.get(index).getHeaders().get("Content-Type").get(0),
                    body.getEncoding());

                
            


            stream.close();
            doc.replaceItemValue("Form", "Mail");
            doc.save(true, true);
            doc.closeMIMEEntities(true);

Convert MIME to RichText 同样的问题 “我可以在前端使用笔记客户端(打开并保存文档)进行此转换,而不会出现任何问题。” 如果我在客户端打开并保存文档,CKEditor 的 mime 字段看起来与客户端相同。字段正文未转换为 RichText,它适用于 CKEditor。

我试图通过添加代码来做到这一点:

session.setConvertMime(true);
RichTextItem rtitem = (RichTextItem)doc.getFirstItem("Body");
if (rtitem!=null) 
  rtitem.compact();
  doc.save(); 

还有这个:

doc.convertToMIME(3);
doc.save(true, true);

Notes 客户端保存后的结果不一样。

感谢您的帮助!

【问题讨论】:

如果要比较一些日期字段:保存在客户端之前“字段名称:PostedDate 数据类型:RFC822 文本”之后“字段名称:PostedDate 数据类型:时间/日期” 在客户端保存之前的文档中:4 个正文字段“字段名称:正文数据类型:MIME 部分”在客户端保存后我有不同的 9 个正文字段 在网络中保存附件之前看起来像:PrintPriceListByCategories2Excel.xls"; size=884224;creation-date="Fri, 20 Mar 2020 03:09:03 GMT";modification-date="Fri, 2020 年 3 月 20 日 03:09:15 GMT 保存在客户端后:863 KB PrintPriceListByCategories2Excel.xls 24.03.20, 18:22 【参考方案1】:

IBM/Lotus 有两个非常不同的 MIME 转换例程。它们都没有提供完美的保真度。如果您希望通过高保真转换获得一致的结果,则有一家名为Genii Software 的第三方公司可以提供满足您需求的软件。它不是免费的,但可以为您节省大量工作。

【讨论】:

感谢免费广告! ;) 但造锅的不是神。 作为 MIT + node.js 的一种方式:github.com/nodemailer/mailparser/blob/master/README.md 作为 varant 将 mime 转换为 html 并保存到 RichText 字段使用 JavaMail 但它是 JavaEE:***.com/questions/11240368/…

以上是关于如何将 CKEditor 的 MIME 转换为与 NotesClient 上的外观相同?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 TIMESTAMPS 格式转换为与 Impala 兼容

如何使用 Google S2 Converter 将 markdown() 中的链接转换为与 favicon 链接?

如何将 Linear16 PCM wav 转换为与 g711.org 相同质量的 G711 8-bit 8-khz MULAW wav?

如何将“target”属性添加到ckeditor5中的`a`标签?

如何将原始电子邮件 (MIME) 从 AWS SES 转换为 Gmail?

如何在 C# 中将非 mime 消息转换为 mime 邮件消息