2

J'utilise VSTO pour mon complément Outlook. Actuellement, je traite les adresses e-mail de tous les contacts Outlook. Il n'y a aucun problème pour les instances de ContactInfo si EmailAddress1Type est "SMTP".Recevez un email Smtp de ContactInfo stocké dans Exchange

Mais comment obtenir l'adresse email du contact Exchange (Email1AddressType = "EX")?

Redemption bibliothèque n'est pas une solution pour moi, car il est cher juste pour résoudre ce problème.

Nous vous remercions à l'avance,

Dusan

Répondre

5

Voici le MSDN reference link et le code d'échantillon correspondant:

private const string Email1EntryIdPropertyAccessor = "http://schemas.microsoft.com/mapi/id/{00062004-0000-0000-C000-000000000046}/80850102"; 

PropertyAccessor propertyAccessor = contactItem.PropertyAccessor; 
object rawPropertyValue = propertyAccessor.GetProperty(Email1EntryIdPropertyAccessor); 
string recipientEntryID = propertyAccessor.BinaryToString(rawPropertyValue); 
Recipient recipient = contactItem.Application.Session.GetRecipientFromID(recipientEntryID); 
if (null == recipient) 
    throw new InvalidOperationException(); 

bool wasResolved = recipient.Resolve(); 
if (!wasResolved) 
    throw new InvalidOperationException(); 
ExchangeUser exchangeUser = recipient.AddressEntry.GetExchangeUser(); 
string smtpAddress = exchangeUser.PrimarySmtpAddress;