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