Contact Email address format

  • Thread starter Thread starter JohnLee
  • Start date Start date
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)).
 
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
 
Back
Top