将EWS托管API与Office 365一起使用(ExchangeVersion.Exchange2013_SP1配置文件)。当为父文件夹调用Folder.FindFolders时,对于所有返回的Folder对象(包括诸如Inbox之类的知名文件夹),我得到Folder.WellKnownFolderName值为null。其他值如.TotalCount也可以。

MSDN中的Folder.WellKnownFolderName文档指出,它应该适用于Exchange2013及更高版本,并且我认为Office 365符合此条件。

另外,如果我连接到Exchange 2010服务器并设置ExchangeVersion.Exchange_2010配置文件,则.WellKnownFolderName会引发异常,而不是返回null(这是预期的行为)。因此(据我所知),根据版本,它应该引发异常或为Inbox等知名文件夹返回非null值。

我想念什么吗?

还是我应该使用其他方式来确定系统文件夹,例如收件箱,已发送邮件等?

最佳答案

默认情况下不返回该属性,无论您使用哪个版本,您都必须指定一个属性集并请求服务器为您返回该属性集,例如

        FolderView wkfView = new FolderView(1000);
        wkfView.PropertySet = new PropertySet(BasePropertySet.FirstClassProperties);
        wkfView.PropertySet.Add(FolderSchema.WellKnownFolderName);

        service.FindFolders(WellKnownFolderName.MsgFolderRoot, wkfView);

10-07 21:56