简体   繁体   中英

Is there any other way besides MAPI to know two different email addresses belong to one Outlook account?

I am trying to integrate my application with Outlook. I have referred to Integrating IM applications with Office .

I met an issue when an Outlook/Office account has two different email addresses, Outlook will call the IContactManager.GetContactByUri() API twice with the two email addresses. Because I don't know the two email addresses belongs to one account, I will return different property values of the two emails to Outlook, which finally lead to Outlook showing an unexpected state on the contact page.

For example, one Outlook account Glider has two email addresses glider123@xxx.com and gliderABC@xxx.com . In my application, account glider123@gmail.com is in the presence state of busy, while gliderABC@xxx.com is in the presence state of free.

Because I don't know glider123@xxx.com and gliderABC@xxx.com belong to one Outlook account Glider , when Outlook calls the GetContactByUri() API, I will create two IContact instances on my local, and they will return different presence state values to Outlook. Finally, on the contact page of Glider in Outlook, its presence state is free.

I know MAPI can solve this, but is there any other way?

对于 Exchange 帐户,多个代理地址存储在PR_EMS_AB_PROXY_ADDRESSES MAPI 属性(DASL 名称http://schemas.microsoft.com/mapi/proptag/0x800F101F )中,可以使用AddressEntry.PropertyAccessor.GetProperty在 Outlook 对象模型中访问该属性。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM