【发布时间】:2020-01-27 23:43:48
【问题描述】:
我正在尝试简单地检索 Outlook 电子邮件文件名及其本地路径,然后通过 Outlook 打开该 .msg 文件。有没有办法做到这一点?还是完全不可能?
我不需要阅读 .msg 文件的内容。我只需要打开它,最终用户就可以查看保存的电子邮件文件。
我做了以下,但它根本不起作用。
try {
Microsoft.Office.Interop.Outlook.Application app = new Microsoft.Office.Interop.Outlook.Application();
string filePath = MapPath("~\\path\\filename.msg"); var item = app.Session.OpenSharedItem(filePath) as Microsoft.Office.Interop.Outlook.MailItem;
string body = item.HTMLBody; int att = item.Attachments.Count;
} catch (Exception ex) {
Global.Log.Error(ex.Message, ex.InnerException);
}
【问题讨论】:
-
“根本不起作用”没有帮助。你有错误吗?如果是这样,是什么?我建议你去掉 try...catch 以便我们看到有用的回溯。
-
当您使用
asp.net标签时 - 我假设我们正在谈论网络应用程序。如果这是您的控制器/页面代码 - 您应该知道,您是通过 服务器 端的互操作打开 Outlook,而不是在客户端。要在客户端打开它,您应该允许您的用户以正确的 MIME 类型下载它。 -
@JustinEzequiel 它不会产生错误。 I代码运行,没有任何反应。异常对象也是 null
-
@vasily.sib 我该怎么做?你能指点我一些合适的文件吗?
-
@ZWaltrz
IThe code runs and nothing happens.我敢打赌确实会发生 - 服务器上的 Outlook 在应用程序池帐户的桌面上打开。我怀疑你到目前为止只在开发 PC 上测试过这段代码,如果你检查一下,你会发现一些幽灵 Outlook 实例正在运行。
标签: c# asp.net outlook office-interop