使用c#或vb.net将.nsf中的NotesDocument保存到.eml文件中

时间:2014-06-12 16:50:18

标签: vb.net eml

我正在阅读.nsf Lotus Notes文件并获取NotesDocument。我想将此NotesDocument保存为包含所有图像,文本,标题和附件的.eml文件。有可能吗?

1 个答案:

答案 0 :(得分:1)

据我所知,您将无法将整个文档检索为Mime消息。不过,您可以从“NotesDocument.convertToMime”方法开始。请原谅我,我的例子是Java,C#和vb.net不是我选择的语言;)

因此,让我们首先将文档转换为有效的MIME消息。该方法获取RichTextItems,并且 - 如名称所示 - 将其内容转换为MIME。

session.setConvertMIME(false);
doc.convertToMIME(Document.CVT_RT_TO_PLAINTEXT_AND_HTML); 

现在,您可以使用以下命令获取Rich-Text的MIME表示形式:

MIMEEntity mime = doc.getMIMEEntity("body");
Stream stream = session.createStream();
stream.open(File.createTempFile("entity",".eml").getAbsolutePath();
if (mime!=null){
 mime.getEntityAsText(stream);
}

对于其他“普通”字段,您可以将其值X-Header添加到主MIME部分。只需遍历NotesDocument的项目,并添加带有前导“X-”的字段名作为MIME消息的标题。

我再次感到抱歉,我无法帮助您使用语言。我希望你能找到正确的方法。

有关在IBM Notes中使用MIME的概念,请查看the IBM documentation.