Contact Email address format

J

JohnLee

Hi!

I'm trying to programmatically access the my contacts from outlook, which I
did using the following code:

var outlookApplication = new ApplicationClass();

NameSpace mapiNamespace = outlookApplication.GetNamespace("MAPI");

MAPIFolder searchFolder =
mapiNamespace.GetDefaultFolder(OlDefaultFolders.olFolderContacts);



The problem is that any email address (Email1Address) retrieved which is
connected to the same local Microsoft exchange server is retrieved in the
following format:

/o=First Organization/ou=Exchange Administrative Group
(FYDIBHDO23SPDLT)/cn=Recipients/cn=John Lee



Is it possible to retrieve or somehow convert the address to the usual email
format ([email protected]) ?

I need to retrieve the certificate linked to the particular email, but as
far as I know it can only be correctly matched by searching by email address
(using the format (e-mail address removed)).
 
S

Sue Mosher [MVP]

For Outlook 2007 or later, once you get the address from the contact in X.400
(Exchange) format, use it as the argument for the Namespace.CreateRecipient
method to return a Recipient object. Then use the
Recipient.AddressEntry.GetExchangeUser method to return an ExchangeUser
object and get its PrimarySmtpAddress address:

Set recip = mapiNamespace.CreateRecipient(contactemail)
If recip.Resolved Then
Set ae = recip.AddressEntry
If ae.AddressEntryUserType = olExchangeUserAddressEntry Then
Set exUser = ae.GetExchangeUser
smtp = exUser.PrimarySmtpAddress
End If
End If
--
Sue Mosher, Outlook MVP
Author of Microsoft Outlook 2007 Programming:
Jumpstart for Power Users and Administrators
http://www.outlookcode.com/article.aspx?id=54
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top