首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用赎回创建pst文件

使用赎回创建pst文件
EN

Stack Overflow用户
提问于 2013-03-09 07:46:10
回答 2查看 2.3K关注 0票数 0

我正在做一个涉及解析.pst文件的C#项目,我的团队选择使用救赎库来做这件事。我们已经成功地将电子邮件文件解析为RDOMail对象,但是现在我们想要将这些电子邮件的子集写入一个新的.pst文件。我已经使用email.SaveAs()函数成功地将子集写入.eml文件,但是我不知道如何将该列表另存为.pst。我已经对文档进行了筛选,但仍有许多不足之处。使用过Redemption的人能给我指出正确的方向或举个例子吗?提前感谢您的帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-09 07:54:45

您将需要使用RDOSession.Stores.AddPstStore (返回RDOPSTStore对象)创建/打开PST文件。一旦拥有了存储,您就可以打开/创建文件夹(从RDOStore.IPMRootFolder开始)、创建邮件(RDOFolder.Items.Add)以及将旧邮件复制到新邮件中(RDOMail.CopyTo(RDOMail/RDOFolder))。

票数 2
EN

Stack Overflow用户

发布于 2017-05-03 11:25:36

在过去的几个小时里,我一直在努力做到这一点,我想把这段时间留给其他人。

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

代码语言:javascript
复制
            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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15305266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档