2014-08-27 17 views
0

背景:展望2010所發送的郵件標記之前保存使用贖回

我已經從舊(專有電子郵件系統)轉換電子郵件到Outlook郵件(2010)成功。這些轉換後的電子郵件作爲.msg文件保存在服務器(不是Exchange服務器,只是文件服務器)上。我正在編寫一個應用程序,它將顯示這些保存的消息供用戶瀏覽(獨立應用程序,不是Outlook)。在做了一些測試並查看Outlook文檔後,我意識到保存的消息將顯示爲草稿/撰寫模式。我也意識到我需要在第一次保存創建的消息(可能使用擴展MAPI而不是Outlook對象模型)之前設置發送標誌(以及其他可能的其他字段)。這將使消息看起來好像他們已經發送。目前,我只是將贖回視爲一種選擇(似乎是一個很好的工具)。我正在使用C#,Outlook 2010,我的應用程序的贖回dll。

解決方案我正在探索:

  1. 一步通過轉換後的消息,使一個新的項目。然後使用 贖回創建一個SafeMailItem並將必要的字段複製到 贖回郵件項目並設置appropirate標誌。

    問題用於解決方案1:從用戶 我們的Exchange服務器GAL外發送給我們

    • 一)對於轉換後的消息也可能是電子郵件。看起來好像贖回不允許 sentonbhalfof(只讀贖回)被設置爲Outlook對象模型。有沒有人有類似的問題,你有什麼嘗試作爲解決?
  2. 使用擴展MAPI創建消息並設置所需的 屬性。

    問題的解決方案2:

    一)有沒有人使用擴展MAPI來創建Outlook郵件(.msg文件),並設置必要的發送特性?如果您不介意包含示例或指向示例的鏈接,將會非常感激。

我將不勝感激任何輸入,這將有助於(解決方法,reccomendations,批評)與我試圖完成。感謝您花時間閱讀我的問題。

回答

0

爲什麼你需要使用SafeMailItem對象?它與Outlook對象模型一起工作(您需要設置SafeMailItem.Item屬性)? Safe * Item對象僅公開Outlook對象模型阻止的屬性和方法。

爲什麼不使用RDO系列對象?使用RDOSession。GetMessageFromMsgFile(返回RDOMail對象),將RDOMail.Sent屬性設置爲true,然後調用RDOMail.Save。

+0

謝謝@DmitryStreblechenko。 – john 2014-09-02 15:19:53

相關問題