从Outlook中检索嵌入式MSG附件的DragDrop EventArgs的内容将被拖动到控件上

Cat*_*ine 5 .net c# outlook drag-and-drop

我有一个应用程序,其中拖放文件系统中的文件,Outlook中的电子邮件或Outlook中的附件,然后代码将这些文件保存在文件系统文件夹中,以便以后上载到SharePoint.

除了我需要识别附件的内容之外,这一切都很好,这是一个电子邮件(即电子邮件嵌入式MSG上的电子邮件附件),其中FileContents为空.有什么方法可以访问电子邮件的内容以保存为.msg文件?

以下代码段MemoryStream正确地为不是电子邮件的附件创建,但对于电子邮件类型为null:

void DoDrop(object sender, DragEventArgs e)
{
    var memoryStream = (MemoryStream) eventArgs.Data.GetData("FileContents", true);
}
Run Code Online (Sandbox Code Playgroud)

Sli*_*SFT 0

我无法重现这种行为。我使用了上面的示例代码,它可以完美地从资源管理器预览窗格或检查器窗口中拖动嵌入的 MSG。您一定有一些关于嵌入式 MSG 的事情没有与我们分享。附件类型是什么

我还建议您查看 Outlook Drag-n-Drop 的 CodeProject 示例。您的示例代码不考虑何时将多个项目拖放到应用程序上 - 如果用户选择 (2) 附件、(3) 电子邮件、(5) 文件等,则仅采用第一个项目。