RDOMail.SaveAs有时无法在UNC上运行

时间:2018-11-16 16:27:33

标签: outlook outlook-redemption

我有一个使用Redemption库的C#Outlook加载项。

除其他外,此加载项还可以将所选邮件复制到网络上的某个共享中。

它通常工作得很好,但有时共享上的.msg文件似乎已损坏。尝试处理它的服务无法读取它。双击它会显示以下消息:“ 无法阅读该项目”。

有时候,我会看到一条错误消息:

  

SaveEmail-System.Runtime.InteropServices.COMException(0x8007000):    StgCreateDocFile 中的错误:0x8007000,位于   兑换 IRDOMail 另存为(字符串路径,对象类型)位于   XYZNameSpace.Email.SaveEmail(...)

以下代码将邮件保存到共享中:

// Save the mail in a temp local file first
mailItem.SaveAs(temppath, Outlook.OlSaveAsType.olMSG);
(... some processing ...)
// Reload the mail
RDOMail rm = rdoSession.GetMessageFromMsgFile(temppath);
// Save it again on a share
rm.SaveAs(filePathName, Outlook.OlSaveAsType.olMSG);
  • 注1:我不知道为什么首先将邮件保存在本地!
  • 注意2:它使用的是旧版的“兑换”(2015)。
  • 注3:消息的大小似乎并不重要。但是,它们是

通常在2到15 MB之间。

非常感谢。

1 个答案:

答案 0 :(得分:1)

IStorage API不太喜欢远程驱动器-无法使用存储共享功能。

第二次打开并保存该消息确实没有多大意义-为什么不简单地使用文件系统API复制MSG文件?