2014-09-01 117 views

回答

2

要在Outlook中創建新文件夾,請使用MAPIFolder.Folders.Add。

Outlook對象模型不直接支持導入EML或MSG文件(或任何其他文件)。

味精的文件,您可以

  1. 使用擴展MAPI(C++或Delphi oinly)和OpenIMsgOnIStg函數打開一個文件味精。然後,您可以在目標文件夾中創建新消息,並使用IMesage.CopyTo複製屬性(請記住,獨立MSG文件不能正確處理CopyTo中的命名屬性),或者一次讀取一個屬性,並將它們設置爲目標消息明確。

  2. Outlook對象模型可以使用Application.CreateItemFromTemplate(它將以未發送狀態創建)並使用Namespace.OpenSharedItem打開MSG文件。然後,可以將消息(MailItem.Move)移動到目標文件夾

對於EML文件,您可以

  1. 使用擴展MAPI(C++或僅德爾福)和內置Outlook界面(IComverterSession)。您可以在OutlookSpy(點擊IConverterSession按鈕)中使用該界面進行遊戲。

  2. Outlook對象模型根本不支持EML文件。你可以做的最好的是創建你自己的解析器,並且一次將EML文件複製到Outlook中一個MIME頭/部分。

如果使用Redemption是一個選項,你可以使用RDOMail .IMPORT方法 - 它進口MSG(olMsg)和EML(olRfc822)文件(以及一些其他格式)。

set Session = CreateObject("Redemption.RDOSession") 
    Session.MAPIOBJECT = Application.Session.MAPIOBJECT '//or you can call Logon 
    set Inbox = Session.GetDefaultFolder(olFolderInbox) 
    set Msg = Inbox.Items.Add 
    Msg.Sent = true '//since Import does not copy this property 
    Msg.Import("c:\temp\test.eml", 1024) ' //1024 is olRfc822 
    Msg.Save 
+0

神奇深入的答案,非常感謝!我會檢查你的資源,然後回去.. – 2014-09-01 17:58:07

相關問題