2017-10-13 143 views
0

我的earlier problem關於通過使用「已發送郵件」文件夾的Items.ItemAdd事件處理程序解決了在發送郵件之後捕獲郵件。當我不更改發件人郵箱時,此工作正常。但是,如果我通過從mailItem.Display(true);所示的界面中的發件人的下拉列表,然後在這個其他帳戶的「已發送郵件」文件夾發送郵件的土地,但在Office 365 Outlook(c#)中獲取實際發件人的「已發送郵件」文件夾

Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderSentMail); 

沒有按選擇一些其他的帳戶更改相應地改變,所以通過這種方式,我無法捕捉到信息。我怎樣才能獲得所選(非默認)發件人的「已發送郵件」文件夾? (可接受的解決方法是更改​​默認郵箱,但我也不知道如何執行此操作)。

回答

1

Store類的GetDefaultFolder方法返回Folder對象,該對象表示存儲中的默認文件夾,該對象的類型爲參數FolderType指定的類型。該方法類似於NameSpace對象的GetDefaultFolder方法。區別在於此方法獲取與帳戶關聯的交付存儲的默認文件夾,而NameSpace.GetDefaultFolder返回當前配置的默認存儲的默認文件夾。

您可以處理Application類的ItemSend事件,您可以從中獲取發件人。然後您可以找到關聯的商店並使用GetDefaultFolder方法獲取正確的已發送郵件文件夾。

請注意,MailItem類的SaveSentMessageFolder屬性會返回或設置一個Folder對象,該對象表示發送郵件副本(而不是發送的郵件文件夾)後將保存電子郵件副本的文件夾。

相關問題