Outlook Redemption - eml 到 pst - 指定文件夹层次结构

Outlook Redemption - eml to pst - Specify folder Hiarachy

我正在使用 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

我该怎么做?感谢您的帮助。

这是您要传递给 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");