获取实际的发件人"发送的项目" Office 365 Outlook中的文件夹(c#)

时间:2017-10-13 08:55:25

标签: c# email outlook

通过使用已发送邮件文件夹的Items.ItemAdd事件处理程序解决了发送邮件之后发送电子邮件的earlier problem问题。当我不更改发件人邮箱时,此工作正常。但是,如果我通过从mailItem.Display(true);显示的界面上的发件人的下拉列表中选择其他一些帐户来更改它,则发送的邮件会落在"已发送的项目中#34;此其他帐户的文件夹,但

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

没有相应的改变,所以这样我就无法收到消息。我怎么能得到"发送的物品"所选(非默认)发件人的文件夹? (可接受的解决方法是更改​​默认邮箱,但我也不知道如何执行此操作)。

1 个答案:

答案 0 :(得分:1)

Store类的GetDefaultFolder方法返回一个Folder对象,该对象表示商店中的默认文件夹,并且是FolderType参数指定的类型。此方法类似于GetDefaultFolder对象的NameSpace方法。区别在于此方法获取与该帐户关联的传递存储上的默认文件夹,而NameSpace.GetDefaultFolder返回当前配置文件的默认存储上的默认文件夹。

您可以处理ItemSend类的Application事件,您可以在其中获取发件人。然后,您可以找到关联的商店并使用GetDefaultFolder方法获取正确的已发送邮件文件夹。

请注意,MailItem类的SaveSentMessageFolder属性返回或设置一个Folder对象,该对象表示发送后将保存电子邮件副本的文件夹(而不是Sent Items文件夹) )。