【问题标题】:Getting the actual sender's "sent items" folder in Office 365 Outlook (c#)在 Office 365 Outlook (c#) 中获取实际发件人的“已发送邮件”文件夹
【发布时间】:2017-10-15 04:51:11
【问题描述】:

我的earlier problem 关于在电子邮件发送后立即捕获的问题已通过使用已发送邮件文件夹的Items.ItemAdd 事件处理程序解决。当我不更改发件人邮箱时,这可以正常工作。但是,如果我通过在mailItem.Display(true); 显示的界面上从发件人的下拉列表中选择其他帐户来更改它,那么发送的消息将落在该其他帐户的“已发送邮件”文件夹中,但是

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

没有相应地改变,所以这样我就无法捕捉到消息。如何获取所选(非默认)发件人的“已发送邮件”文件夹? (一个可接受的解决方法是更改​​默认邮箱,但我也不知道该怎么做)。

【问题讨论】:

    标签: c# email outlook


    【解决方案1】:

    Store 类的GetDefaultFolder 方法返回一个Folder 对象,该对象表示存储中的默认文件夹,该对象属于FolderType 参数指定的类型。此方法类似于NameSpace 对象的GetDefaultFolder 方法。不同之处在于此方法获取与帐户关联的交付存储上的默认文件夹,而NameSpace.GetDefaultFolder 返回当前配置文件的默认存储上的默认文件夹。

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

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

    【讨论】:

      猜你喜欢
      • 2018-07-15
      • 1970-01-01
      • 2019-12-15
      • 1970-01-01
      • 2017-07-06
      • 1970-01-01
      • 2014-04-14
      • 2015-08-12
      • 1970-01-01
      相关资源
      最近更新 更多