使用Redemption创建pst文件

时间:2013-03-08 23:46:10

标签: list email outlook-redemption pst

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

2 个答案:

答案 0 :(得分:1)

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

您必须安装redemption并将其添加为项目的参考才能使其正常工作

            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();

I also created a small sample windows forms app for it, I know the code is ugly but it does the trick

答案 1 :(得分:0)

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