【问题标题】:EWS: Mailbox address from a Calendar FolderId, is it possible?EWS:来自日历 FolderId 的邮箱地址,这可能吗?
【发布时间】:2016-04-12 17:35:46
【问题描述】:

我已存储 Calendar FolderIds 以报告用户有权访问的日历事件。我正在通过 c# (using Microsoft.Exchange.WebServices) 使用 Exchange Web 服务

这些日历可以与经过身份验证的用户的邮箱、共享邮箱、模拟|委托邮箱或公共邮箱相关联。现在我想从 FolderId 转到邮箱地址。

理想情况下会有一个函数来

string address = getMailboxAddress(new FolderId("AAJk...AA="));

【问题讨论】:

  • 什么是邮箱地址?
  • Exchange 有一个邮箱对象。我想要来自Mailbox.Address.ToString() 的 smtp 地址(“example@example.com”)。

标签: c# exchangewebservices


【解决方案1】:

如果您拥有 FolderId,那么您拥有的是此 https://msdn.microsoft.com/en-us/library/ee217297(v=exchg.80).aspx 的 EWS 版本,这意味着您拥有的数据不包含电子邮件地址。您最好在存储 CalendarId 时存储与其关联的电子邮件地址。

您可以尝试将 ConvertId 与通用的不可解析电子邮件地址一起使用,这应该将文件夹所属的 EmailAddress(不适用于公用文件夹)返回到 eg

     AlternateId aiAlternateid = new AlternateId(IdFormat.EwsId, SharedFoder.Id.UniqueId, "mailbox@domain.com");
    AlternateIdBase aiResponse = service.ConvertId(aiAlternateid, IdFormat.EwsId);
    Console.WriteLine(((AlternateId)aiResponse).Mailbox);

干杯 格伦

【讨论】:

  • 谢谢。 FolderId 的提供者 UID 部分不能让我找到日历所有者和电子邮件地址吗?
  • 对于邮箱,文件夹 ID 中的 UID 将是 msdn.microsoft.com/en-us/library/office/cc815641.aspx。您也许可以从 ewsId 中提取 MailboxGUID(但该格式未记录在 AFAIK 中)。
猜你喜欢
  • 1970-01-01
  • 2018-05-14
  • 2014-10-06
  • 2018-10-19
  • 2015-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多