繁体   English   中英

如何将Outlook中的电子邮件拖放到.NET应用程序中?

[英]How to drag and drop an email, from Outlook, into a .NET application?

我试图弄清楚如何将Outlook 2010中的电子邮件拖放到我的.NET应用程序中。 我见过很多文章,大多数都有非常复杂的解决方案。 我的想法是不应该那么复杂......但我可能是错的。

任何帮助将非常感激!

这里发布了一个更简单的解决方案: 从Outlook电子邮件中获取正文[Drag'n'Drop]

Outlook.Application outlook = new Outlook.Application();
Outlook.Explorer oExplorer = outlook.ActiveExplorer();
Outlook.Selection oSelection = oExplorer.Selection;

foreach (object item in oSelection)
{
    Outlook.MailItem mi = (Outlook.MailItem)item;
    Console.WriteLine(mi.Body.ToString());
}

它使用Microsoft.Office.Interop.Outlook.dll (它与NuGet同名)

上面的两个答案都很好。 但是,您需要了解一些事项。

在第一个答案中,您可以下载示例程序并运行它,只要您在32位计算机上运行它就会发现一切正常,否则,您必须将程序从“AnyCPU”重新编译为“X86” 。 我今天花了大部分时间试图找出为什么我拖放的.msg文件名(电子邮件)的前两个字符丢失了。 一旦我用“X86”重新编译,它就开始工作了。

在第二个答案中,您会发现是的,您可以使用代码并且它更容易,但是,如果您需要您的应用程序在其他版本的outlook上运行(除了您添加到引用中的那个),它可能不管用。 我曾经使用第二个答案中提到的相同类型的Office对象,当有人想在不同版本的Office上使用我的程序时,我遇到了问题(即,如果我拉入Office版本14,他们想要在Office 2007上使用它)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM