Sort of but not really is the best answer. If the recipient isn't a one-off
recipient and does live in a contacts folder the usual thing is to get the
name and search any contacts folder (using Find or Restrict) to locate a
contact with that name. You can also use something like email address but of
course then you have to filter on all 3 and reading email addresses is
subject to the object model guard if the code isn't trusted or if you don't
use a method to avoid the security prompts, such as Redemption
(
www.dimastr.com/redemption).
However, there's another (undocumented) way to do this. Get the EntryID of
the Recipient.AddressEntry object and hack out part of that string to get
the EntryID of the contact item.
The code would look something like this:
strID = oAddressEntry.ID
strID = Right(strID, Len(strID) - 72)
strID = Left(strID, Len(strID) - 6)
I hacked this out a while ago, so test it. The best way is with a MAPI tool
such as OutlookSpy (
www.dimastr.com) or MFCMAPI (from MS). You can use that
to play with EntryID's and the pattern of the contact ID within the
AddressEntry ID.