c# - 使用 Microsoft.Office.Interop.Outlook 读取 *.msg outlook 文件时出现问题

标签 c# outlook msg

我正在编写一段代码来处理从存储在 *msg Outlook 文件中的电子邮件中提取信息。我从 C# Outlook interop and OpenSharedItem for opening MSG files 中获得了如何去做的想法.但是当调用方法 OpenSharedItem 时出现这样的错误 System.AccessViolationException。有谁知道有什么问题吗?
这是导致错误的代码

Outlook._Application app = new Outlook.Application();
Outlook.NameSpace NS = app.GetNamespace("MAPI");
Outlook.MAPIFolder inboxFld = NS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
Outlook.MailItem fld =  (Outlook.MailItem) app.Session.OpenSharedItem("E://Projects//C#//message1.msg");

最佳答案

好的。万一有人遇到同样的问题,我终于得到了答案。首先应该是

Outlook.MailItem fld =  (Outlook.MailItem) app.Session.OpenSharedItem("E:\\Projects\\C#\\message1.msg");

区别在于斜杠。
然后,您只需安装 Outlook 2007 或更新版本即可使其正常工作。就是这样:]

关于c# - 使用 Microsoft.Office.Interop.Outlook 读取 *.msg outlook 文件时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5763768/

相关文章:

c# - 为什么 XAML 不等同于 AddHandler?

c# - 用图案替换开关/外壳

delphi - 如何最好地证明我的应用程序需要连接到 Outlook?

outlook - HTML 电子邮件 - Outlook.com 无法识别我的图像垂直对齐控件

python - 使用 Python 2.7 解析 msg/eml 文件

java - 显示来自 MSG 文件的邮件

c++ - 如何查找 Outlook 邮件文件 (.msg) 的代码页 ID

c# - Exception 对象是否可能由于其内部错误而引发另一个异常?

c# - 任务工作流程顺序错误

.net - 如何以编程方式为 Outlook 生成电子邮件线程?