EWS:从X500转换的电子邮件地址以SMTP地址
问题描述:
我提取使用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>
答
你能解决Outlook中的地址?例如过去到一个新的消息,并做一个Ctrl-K,如果该地址无法解析为全局地址列表中的条目,那么这就是你会得到的结果。这可能表示引用X500地址的地址已被删除或已完成迁移,并且未添加ProxyAddress。
干杯 格伦
我会尝试这一点,但如果该地址HS被删除?有没有办法得到电子邮件地址? –
它取决于它可能位于另一个属性,例如对于发件人地址,SMTP地址可能在PR_SENT_REPRESENTING_SMTP_ADDRESS属性中。最好的办法是使用像OutlookSpy或MFCMapi这样的Mapi编辑器来查看对象。对于收件人地址,SMTPAddress通常位于收件人集合中的PR_SMTP_Address中,但该属性不能用EWS直接访问,因此您需要使用MAPI来提取该地址。 –