从Outlook .msg文件中获取子消息

时间:2017-09-12 15:43:35

标签: c# outlook

我需要解析一些带有跟踪邮件的.msg文件。有没有办法获取子消息并识别已启动和已响应的电子邮件。 我不想使用任何第三方工具。我被允许使用Outlook互操作。 下面是我用来读取msg文件的代码。我能够获取Body,HTMLBody和其他详细信息。但实际上我需要所有尾随消息。

    outlook._Application app = null;
    outlook.MailItem item = null;
    outlook.NameSpace session = null;
    try
    {
        app = new outlook.Application();
        session = app.Session;
        item = session.OpenSharedItem(file) as outlook.MailItem;

    }
    catch(Exception ex)
    { }

1 个答案:

答案 0 :(得分:0)

如果您仅限于OOM,唯一的方法是将每个嵌入的邮件附件保存为MSG文件(Attachment.SaveAsFile),然后使用Namespace.OpenSharedItem打开它。

如果使用Redemption是一个选项,则可以使用RDOSession打开MSG文件。GetMessageFromMsgFile(类似于OOM中的Namespace.OpenSharedItem),嵌入式邮件附件可以使用RDOAttachment。EmbeddedMsg属性(返回RDOMail对象)访问 - 无需先保存附件。