2017-10-13 140 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对象,该对象表示发送邮件副本(而不是发送的邮件文件夹)后将保存电子邮件副本的文件夹。

相关问题