Outlook Redemption - eml to pst - 指定文件夹Hiarachy

时间:2016-05-04 12:23:36

标签: c# outlook outlook-redemption

我正在使用Outlook兑换(http://www.dimastr.com/redemption/home.htm)并遵循C#代码从.eml文件生成PST文件。

            RDOSession session = new RDOSession();
            RDOPstStore store = session.LogonPstStore(newpstpath);
            RDOFolder folder = store.IPMRootFolder.Folders.Item(directoryEmlFile);
            if (folder == null)
            {
                folder = store.IPMRootFolder.Folders.Add(directoryEmlFile);
            }

            RDOMail mail = folder.Items.Add("IPM.Note");
            mail.Import(directoryEmlFile + "\\0a53e310-b841-43bf-9586-8e7ddb4cd175" + ".eml");
            mail.Sent = true;
            mail.Save();
            store.Save();

它会创建一个PST文件,但当我将其导入Outlook时,文件夹结构与此类似。

Personal Folders
  -C:\Users\asanka\eml

在C:\ Users \ asanka \ eml文件夹中我可以看到导入的电子邮件。这是.eml文件最初位于的文件夹。我需要摆脱它并拥有这样的文件夹结构。

Personal Folders
  -asanka
    -inbox

我该怎么做?任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

这是您传递给Folders.Add的文件夹名称,对吗?您需要传递适当的名称(asanka)来创建文件夹。由于你有两个文件夹,你可能需要做两次:

RDOFolder folder1 = store.IPMRootFolder.Folders.Item("asanka");
if (folder1 == null) folder1 = store.IPMRootFolder.Folders.Add("asanka");
RDOFolder folder = folder1.Folders.Item("Inbox");
if (folder == null) folder = folder1.Folders.Add("Inbox");