Exchange-使用IMAP进行模拟

问题描述

我要执行的操作是从Exchange服务器上的指定电子邮件地址组访问邮箱。 该地址组中的地址从我们的业务合作伙伴处接收消息。 在筛选了一些Exchange文档之后,我发现我可能应该看[[Impersonation]]。(https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/impersonation-and-ews-in-exchange)。

简而言之,我可以采取IMAP中的步骤以及Exchange设置来实现模拟吗? impersonation是否可以通过IMAP进行?我找不到同一句话中提到的两个,至少不是针对2010年以后的Exchange版本。

Exchange管理员给了我所谓的“未经授权的用户”,出于测试目的,该用户只能访问我的邮箱。 但是,在尝试通过我的IMAP客户端(MailKit)使用该用户的凭据进行身份验证(与使用原始帐户的方式相同)后,出现“登录失败”的提示。 AuthenticationException。

我想知道AuthenticationException是MailKit方面的东西,还是管理员可能错误地设置了用户,或者Mailkit可以将此类用户用于我的普通帐户。 如果我成功通过身份验证,邮箱的结构将是什么?对于地址组中的多个地址,我将有多个邮箱,还是所有邮件合并在一个公用邮箱中? 使用本指南,我设法在收件箱下创建了一个“ TestFolder1”。接下来,我将尝试使用EWS阅读邮件,并且可能建议管理员为该模拟帐户添加一个附加地址,以进行测试。

好吧,我完成了上面的代码,看来我已经通过EWS成功连接了,并且能够使用我的假冒用户访问和读取单个邮箱。但是,您只能在任何给定时间访问一个邮箱,并且在从该邮箱中获取信息之前,必须为有兴趣的任何人设置/更改要访问的邮箱:

service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress,"john.doe@domain.com");

...服务是ExchangeService实例的地方。您可以找到更多信息here


好了,现在我可以在EWS上使用它了,如果可能的话(如果有一种简单明了的方式),我想用MailKit实现这一点,因为我的代码已经在利用MailKit并通过IMAP提取邮件。不幸的是,我已经完成工作,才发现会有指定的用户组会收到我们合作伙伴的邮件。嗯如果可以通过对当前IMAP实现进行一些更改来做到这一点,那就太好了。如果没有,我想我只需要使用EWS重写所有内容即可。

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)