2016-01-21 301 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來提取該地址。 –

相關問題