C#EWS托管API:如何获取邮箱最大大小或配额限制

时间:2016-12-15 17:14:45

标签: c# office365 exchange-server exchangewebservices

我希望获得邮箱或配额限制的最大大小。其实我找到了邮箱的免费空间。所以我找到了用过的空间和最大空间,然后找到差异来找到自由空间。

我得到以下代码来查找文件夹的已用大小。我想我可以迭代到所有文件夹来获得完整的大小。但是我怎样才能获得最大配额限制?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Exchange.WebServices.Data;
namespace ConsoleApplication12
{
    class Program
    {
        static void Main(string[] args)
        {
            ExchangeService service = new ExchangeService();
            service.Credentials = new WebCredentials("mail", "pass");
            service.Url = new Uri("https://outlook.office365.com/EWS/Exchange.asmx");
            ExtendedPropertyDefinition PR_Extended_Message_Size = new ExtendedPropertyDefinition(3592, MapiPropertyType.Long);
            PropertySet psPropertySet = new PropertySet(BasePropertySet.FirstClassProperties) { PR_Extended_Message_Size };
            Folder Inbox = Folder.Bind(service, WellKnownFolderName.Inbox, psPropertySet);
            long FolderSize = 0;
            if (Inbox.TryGetProperty(PR_Extended_Message_Size, out FolderSize))
            {
                Console.WriteLine(FolderSize/1024);
            }
            Console.ReadKey();
        }
    }
}

1 个答案:

答案 0 :(得分:0)

您可以使用您拥有的代码,而不是PR_Extended_Message_Size,查询PR_Prohibit_Receive_Quota(十六进制值0x666A0003),根据documentation,“接收邮件的限制被禁止(也是邮箱的最大大小)“。