EWS 电子邮件文件夹所有者

Posted

技术标签:

【中文标题】EWS 电子邮件文件夹所有者【英文标题】:EWS email folder owner 【发布时间】:2016-02-22 18:02:46 【问题描述】:

我们办公室的每个人都设置了自己的邮箱。但是一些特殊的可以访问共享邮箱。我编写了一个应用程序来使用 EWS API 跟踪此“共享”邮箱上的电子邮件活动。

我遇到的问题是电子邮件被删除时。该应用程序检测到“已移动”事件。从事件中,它获得了恰好是个人“已删除”文件夹的新文件夹。有没有办法通过 EWS API 获取该“已删除”文件夹的所有者?

我想出了一个解决方案,即导入所有用户的电子邮件文件夹。此解决方案有效,但维护起来很繁琐,因为我们几乎每周都有新用户/删除用户。

【问题讨论】:

【参考方案1】:

如果您将 ConvertId 与通用不可解析的电子邮件地址一起使用,它应该在您尝试转换时返回 FolderId 所属的实际地址,例如

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

(其中 SharedFolder 是 EWS 托管 API 文件夹)。

干杯 格伦

【讨论】:

代码对我不起作用。我仍然收到“共享”邮箱的电子邮件。 您确定使用了正确的 FolderId 吗?另一种方法是从 PR_Store_EntryId 属性中获取 legacydn,然后在其上使用 ResolveName,然后将其转换为 SMTP 地址 blogs.msdn.com/b/emeamsgdev/archive/2012/12/07/…

以上是关于EWS 电子邮件文件夹所有者的主要内容,如果未能解决你的问题,请参考以下文章

EWS 电子邮件正文返回为空?

如何使用 EWS 将项目移动到文件夹?

使用 EWS 访问存储在 Exchange 365 中存档文件夹中的邮件

EWS 邮件提醒

C# Managed EWS 通过 ID 从共享邮箱获取电子邮件

使用 EWS API 将邮件保存到 msg 文件