【问题标题】:Get sub messages from Outlook .msg files从 Outlook .msg 文件中获取子消息
【发布时间】:2022-05-04 01:55:03
【问题描述】:

我需要解析一些带有跟踪邮件的 .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)
    { }

【问题讨论】:

    标签: c# outlook


    【解决方案1】:

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

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

    【讨论】:

    • 这里的子消息不是附件中的子消息,而是 msg 文件中存在的实际跟踪电子邮件
    • 保存 MSG 附件(无论是嵌入消息还是按值附件)在这两种情况下都有效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-14
    相关资源
    最近更新 更多