我正在尝试弄清楚如何将Outlook 2010中的电子邮件拖放到我的.NET应用程序中。我见过很多文章,大多数都有非常复杂的解决方案。我的想法是它不应该那么复杂......但我可能是错的。
非常感谢任何帮助!
答案 0 :(得分:5)
此处发布了一个更简单的解决方案:Get body from Outlook email [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同名)
答案 1 :(得分:0)
上面的两个答案都很好。但是,您需要了解一些事项。
在第一个答案中,您可以下载示例程序并运行它,您会发现只要您在32位计算机上运行它,一切都很有效,否则,您必须从"重新编译程序。 AnyCPU"到" X86"。我今天花了大部分时间试图找出为什么我拖放的.msg文件名(电子邮件)的前两个字符丢失了。一旦我用" X86"重新编译;一切都开始奏效了。
在第二个答案中,您会发现是的,您可以使用代码并且它更容易,但是,如果您需要您的应用程序在其他版本的Outlook上运行(除了您添加到参考文献中的那个) )它可能不起作用。我曾经使用过第二个答案中提到的相同类型的Office对象,当有人想在不同版本的Office上使用我的程序时,我遇到了问题(即如果我拉入Office版本14,他们想要在Office 2007上使用它)。