我有一个使用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);
通常在2到15 MB之间。
非常感谢。
答案 0 :(得分:1)
IStorage API不太喜欢远程驱动器-无法使用存储共享功能。
第二次打开并保存该消息确实没有多大意义-为什么不简单地使用文件系统API复制MSG文件?