0

我正在处理一个涉及解析 .pst 文件的 C# 项目,我的团队选择使用 Redemption 库来执行此操作。我们已经成功地将电子邮件文件解析为 RDOMail 对象,但是现在我们想要将这些电子邮件的一个子集写入一个新的 .pst 文件。我已经使用 email.SaveAs() 函数成功地将子集写入 .eml 文件,但我不知道如何将该列表保存为 .pst。我一直在筛选文档,但是还有很多不足之处。任何使用过救赎的人都可以为我指明正确的方向或提供一个例子吗?在此先感谢您的帮助!

4

2 回答 2

2

您将需要使用 RDOSession.Stores.AddPstStore(返回RDOPSTStore对象)创建/打开 PST 文件。拥有商店后,您可以打开/创建文件夹(从 RDOStore.IPMRootFolder 开始)、创建消息 (RDOFolder.Items.Add) 并将旧消息复制到新消息中 (RDOMail.CopyTo(RDOMail/RDOFolder))。

于 2013-03-08T23:54:44.860 回答
2

在过去的几个小时里,我一直在努力做到这一点,并希望将这段时间节省给其他人

您必须安装兑换并将其添加为对您的项目的引用才能正常工作

            RDOSession session = new RDOSession(); // throws exception 1

        session.LogonPstStore(@"c:\temp\output.pst");
        RDOFolder folder = session.GetDefaultFolder(rdoDefaultFolders.olFolderInbox);

        string[] fileEntries = Directory.GetFiles(@"C:\emlFiles\", "*.eml");


        foreach (string filePath in fileEntries)
        {
            RDOMail mail = folder.Items.Add("IPM.Mail");
            mail.Sent = true;
            mail.Import(filePath, 1024);
            // folder.Items.Add(mail);
            mail.Save();
        }

        session.Logoff();

我还为它创建了一个小的示例 Windows 窗体应用程序,我知道代码很难看,但它可以解决问题

于 2017-05-03T03:25:36.417 回答