2016-01-21 299 views
0

我提取使用EWS API的电子邮件,有时,Sender.Address属性这样返回的财产以后:EWS:从X500转换的电子邮件地址以SMTP地址

/O=FIRST ORGANIZATION/OU=EXCHANGE ADMINISTRATIVE GROUP (XXXXXXXXXXXXXXX)/CN=RECIPIENTS/CN=USERXXXXXXX 

我认为这是X500电子邮件格式,我想:

var resolutions = service.ResolveName(email.Sender.Address); 

但是,收集是空的!我错过了什么?

我用EWSEditor,当我试图用ResolveName,我得到:

<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
     <m:ResolveNamesResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"> 
     <m:ResponseMessages> 
      <m:ResolveNamesResponseMessage ResponseClass="Error"> 
      <m:MessageText>Aucun résultat n'a été trouvé.</m:MessageText> 
      <m:ResponseCode>ErrorNameResolutionNoResults</m:ResponseCode> 
      <m:DescriptiveLinkKey>0</m:DescriptiveLinkKey> 
      </m:ResolveNamesResponseMessage> 
     </m:ResponseMessages> 
     </m:ResolveNamesResponse> 
    </s:Body> 

回答

0

你能解决Outlook中的地址?例如过去到一个新的消息,并做一个Ctrl-K,如果该地址无法解析为全局地址列表中的条目,那么这就是你会得到的结果。这可能表示引用X500地址的地址已被删除或已完成迁移,并且未添加ProxyAddress。

干杯 格伦

+0

我会尝试这一点,但如果该地址HS被删除?有没有办法得到电子邮件地址? –

+0

它取决于它可能位于另一个属性,例如对于发件人地址,SMTP地址可能在PR_SENT_REPRESENTING_SMTP_ADDRESS属性中。最好的办法是使用像OutlookSpy或MFCMapi这样的Mapi编辑器来查看对象。对于收件人地址,SMTPAddress通常位于收件人集合中的PR_SMTP_Address中,但该属性不能用EWS直接访问,因此您需要使用MAPI来提取该地址。 –

相关问题