在C ++ Lotus Notes插件中,我想将当前的电子邮件(由hNote HANDLE表示)保存到.eml文件中。我浏览了文档,找到了NSFNoteExtractFile函数,它将给定的项目(表示为BLOCKID)保存到文件中。但是如何将hNote HANDLE转换为BLOCKID项目以便将其保存到文件中?
答案 0 :(得分:0)
您无法将音符句柄转换为BLOCKID。 BLOCKID与注释内的项目相关联,而不与注释本身相关联。 NSFNoteExtractFile从注释中提取文件附件,它不会将注释转换为文件。即,如果您有附带.doc文件的邮件消息,您将使用NSFItemInfo获取代表.doc文件的注释中的$ FILE项的BLOCKID,然后您将使用NSFNoteExtractFile来保存.doc文件(并且只有.doc文件)作为seaparate磁盘文件。
据我所知,IBM Lotus仍然没有API来执行您想要的操作。有一个Java API可以将邮件内容转换为MIME格式,但您必须提供生成和格式化邮件头的所有代码。这在Java中相当容易实现,但在C ++中,您可能必须自己提供很多逻辑。这是Bob Balaban发布的博客文章的链接,其中包含了做同样事情的示例C#代码,并且由于他在C#中使用的Lotus COM类中没有相应的Java convertToMIME API调用,包括从C#调用C到C的代码,这样就会显示您需要使用哪些API来转换C ++中的内容。