【问题标题】:EWS Get mailbox type (user/resource/shared)EWS 获取邮箱类型(用户/资源/共享)
【发布时间】:2014-07-01 22:10:29
【问题描述】:

仅给定一个电子邮件地址,我连接到接收发送到该地址的电子邮件的邮箱:

ews.autodiscoverUrl(email);
var m = new Mailbox(email);
var folderId = new FolderId(WellKnownFolderName.Inbox, m);
var folder = Folder.Bind(ews,folderId);

有没有办法查出我打开了什么样的邮箱——是用户、资源还是共享邮箱?

【问题讨论】:

    标签: c# exchangewebservices


    【解决方案1】:

    您可以通过拨打ResolveName来查找给定电子邮件地址的邮箱类型:

    var mailboxes = ews.ResolveName(email);
    if (mailboxes.Any()) {
        var mailbox = mailboxes.First();
        if (mailbox.MailboxType == MailboxType.PublicFolder) {
            // your magic
        }
    }
    

    看到这个MSDN page for the possible values of the MailboxType

    更新

    普通邮箱和房间邮箱没有区别。如果您想知道 Exchange 服务器中存在哪些房间,可以使用the EWS GetRoomLists and GetRooms functions

    将上面的sn-p和GetRoomLists/GetRooms结合,就可以得到一个房间的邮箱。但请记住:有些房间可能没有邮箱。

    更新 2

    使用GetRoomLists/GetRooms 的方法是唯一允许您使用 EWS 识别房间邮箱的方法。但这确实需要您将房间添加到房间列表中,这可能需要您贿赂一两个管理员。

    另一种方法是在 Active Directory 中查找相关信息,这显然是 Outlook 所做的。看到这个MSDN thread for a more elaborate explanation,但这是要点:

    Outlook 有自己的目录接口,它不使用 EWS 来获取此信息。如果您打算只使用 EWS,您需要让您的管理员创建一个房间列表供您使用。

    最后一种方法是使用 PowerShell 来获取邮箱类型。这是我刚刚用来在我的 Exchange Online 服务器中获取房间的内容:

    PS H:\> Get-Mailbox | Where {$_.ResourceType -eq "Room"}
    

    输出:

    Name                      Alias                ServerName       ProhibitSendQuota
    ----                      -----                ----------       -----------------
    Frank's room              franksroom           db3pr03mb058     49.5 GB (53,150,220,288 bytes)
    

    另一个产生相同输出的例子:

    PS H:\> Get-Mailbox -Filter '(RecipientTypeDetails -eq "RoomMailBox")'
    

    通过此输出,我可以使用以下任一方式获取邮箱:

    exchange.ResolveName("Frank's room");
    exchange.ResolveName("franksroom@myorganization.onmicrosoft.com");
    

    一些相关链接:

    【讨论】:

    • 感谢您的帮助,但 MailboxType 不区分用户和房间/资源 - 它为两者返回 MailboxType.Mailbox。
    • 您需要使用GetRoomLists/GetRooms。查看我刚刚添加的更新。
    • 嗯...如果您没有房间列表,这种方法将不起作用。见stackoverflow.com/questions/15396073/…
    猜你喜欢
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多