Exchange server 如何将Exchange Web服务外部邮件Id映射到Exchange内部邮件Id

Exchange server 如何将Exchange Web服务外部邮件Id映射到Exchange内部邮件Id,exchange-server,exchangewebservices,exchange-server-2010,Exchange Server,Exchangewebservices,Exchange Server 2010,有一个自行编写的应用程序(c#)通过EWS(Webservice)与Exchange进行通信。 从EWS检索到的每个邮件项都有一个base64编码字符串作为邮件标识符。 字符串是邮箱本身的GUID、一些标志和其他未知内容的串联。 正如在应用程序日志中所观察到的那样,最后48位似乎表示一个序列号,该序列号对于每个新邮件都会增加,因为base64表示也会这样做 这看起来是这样的 AAMkADY4NGZiNmNmL[....]DruR5FpCowxZfCWAAAqi1dWAAA= AAMkADY4NG

有一个自行编写的应用程序(c#)通过EWS(Webservice)与Exchange进行通信。 从EWS检索到的每个邮件项都有一个base64编码字符串作为邮件标识符。 字符串是邮箱本身的GUID、一些标志和其他未知内容的串联。 正如在应用程序日志中所观察到的那样,最后48位似乎表示一个序列号,该序列号对于每个新邮件都会增加,因为base64表示也会这样做

这看起来是这样的

AAMkADY4NGZiNmNmL[....]DruR5FpCowxZfCWAAAqi1dWAAA=
AAMkADY4NGZiNmNmL[....]DruR5FpCowxZfCWAAAqi1dXAAA=
AAMkADY4NGZiNmNmL[....]DruR5FpCowxZfCWAAAqi1dZAAA=
AAMkADY4NGZiNmNmL[....]DruR5FpCowxZfCWAAAqi1dYAAA=
AAMkADY4NGZiNmNmL[....]DruR5FpCowxZfCWAAAqi1daAAA=
AAMkADY4NGZiNmNmL[....]DruR5FpCowxZfCWAAAqi1dbAAA=
AAMkADY4NGZiNmNmL[....]DruR5FpCowxZfCWAAAqi1ddAAA=
AAMkADY4NGZiNmNmL[....]DruR5FpCowxZfCWAAAqi1deAAA=  
                                      ^^^^^^^^
我的目的是解码base64表示并解释位部分,以便获得exchange的内部消息id。这对于简化消息跟踪是必要的

我所面临的问题是,不管我以何种方式解释这些位,我永远不会得到一个接近内部消息id的值

目前,exchange中的内部消息id位于195XXXXXX,但被解释为long的二进制值给出了一个大约713xxxxx的值,这完全没有意义

更糟糕的是,我观察到序列中出现了一个中断:

AAAqi1kKAAA=  
AAAqi1kLAAA=  
AAAqi1kMAAA=    (decimal 713775372)  
AAAqjUbTAAA=    (decimal 713901779)  
AAAqjUbUAAA=  
AAAqjUbVAAA=  
这意味着序列号突然增加了约126'400

我无法想象exchange在EWS上下文中使用与内部不同的消息id,并在某处维护映射信息

有人知道如何获得正确的消息id吗?

我相信您希望使用EWS或EWS管理的API进行转换。此处有更多信息: