Ich verwende Outlook Einlösung (http://www.dimastr.com/redemption/home.htm) und folgenden C# -Code, um eine PST-Datei aus. Eml-Dateien zu generieren.Outlook Redemption - Eml zu Pst - Ordner angeben Hiarachy
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();
Es erstellt eine PST-Datei, aber wenn ich es in Outlook importieren, ist die Ordnerstruktur ähnlich.
Personal Folders
-C:\Users\asanka\eml
Inside C: \ Benutzer \ asanka \ eml Ordner Ich kann die importierte E-Mail sehen. Das ist der Ordner, in dem sich die .eml-Datei ursprünglich befand. Ich muss das loswerden und die Ordnerstruktur so haben.
Personal Folders
-asanka
-inbox
Wie kann ich das tun? jede Hilfe wird geschätzt.
Vielen Dank für die Antwort. Ich habe meinen Code aktualisiert, wie Sie es angewiesen haben. Aber jetzt bekomme ich eine Ausnahme wenn mail.Import Zeile ausgeführt wird. Es heißt {"Fehler beim Importieren: 0x80030050"} \t System.Exception {System.Runtime.InteropServices.COMException} –
Der Fehlercode ist STG_E_FILEALREADYEXISTS. Sie geben das Format beim Aufrufen von Import nicht an, sodass die Rückstellung standardmäßig auf olMsg angewendet wird. Angeben rdoSaveAsType.olRFC822 –
OK Sie haben meinen Tag gemacht. Jetzt funktioniert das Programm! –