How do I get a mail item's MessageID

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Hi,

I need to track messages in a database, but be able to handle the same
message being sent to multiple recipients (within an Exchange environment).

I know that all messages sent to multiple recipients will have the same
MessageID value, but I can find no information as to how to retrieve it.

What I'm planning is that when a message is opened, an AddIn will check
whether the message has already been handled and if not, store info in a
database (simplistic view). When another user reads the same message, I need
to be able to detect that it's already been handled.

Thanks for any help,

Phil.
 
I think what you want is the EntryID of the item, which is accessible from
the Outlook object model or from other API's like CDO 1.21 or Extended MAPI.
 
If you mean the MIME message id header, it is not guaranteed to be present.
If it is available, it will be in the PR_INTERNET_MESSAGE_ID property
(0x1035001E), accessible using Extended MAPI (C++/Delphi only), CDO 1.21,
Redemption or MailItem.PropertyAccessor in Outlook 2007

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
 
Hi Ken,

I was under the impression the EntryID can change. I need the ID that was
assigned to the message when it was sent.

There is a MessageID in the internet headers, but will that be present in a
message sent via Exchange ?

Cheers,

Phil.
 
Thanks Dmitry.

Is that the MessageID visible in the headers of a message ?

What about a message sent via Exchange (ie within an organisation, without
going out to the internet) ? Does Exchange assign an ID to sent messages ?

Cheers,

Phil.
 
EntryID can change if an item is moved, it depends on the store provider.
Internet Message ID's in the headers aren't there in intra-organizational
Exchange emails, only on emails sent via the Internet.
 
AFAIK as of Exchange 2000 (or was it 2003?), the id will be set on the
messags sent by an EX server.

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
 
Hi
Can someone please suggest a mapi field that truly represents the mailitem. I am sending mails using outlook 2010 and can read teh PR_INTERNET_MESSAGE_ID when I send the mail in my sent items but the recipient account records a different message_id for the mail when it arrives so why does exchange/outlook record an incorrect value. This doesn' happen when sending from say hotmail to outlook, the message id remains the same - as you'd expect.
Is there a better field to use when trying to identify originating email for external conversations? The quote below is relevant
Thanks
AFAIK as of Exchange 2000 (or was it 2003?), the id will be set on the
messags sent by an EX server.

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

"Bickers" <[email protected]> wrote in message
news:[email protected]...
> Thanks Dmitry.
>
> Is that the MessageID visible in the headers of a message ?
>
> What about a message sent via Exchange (ie within an organisation, without
> going out to the internet) ? Does Exchange assign an ID to sent messages ?
>
> Cheers,
>
> Phil.
>
> "Dmitry Streblechenko" wrote:
>
>> If you mean the MIME message id header, it is not guaranteed to be
>> present.
>> If it is available, it will be in the PR_INTERNET_MESSAGE_ID property
>> (0x1035001E), accessible using Extended MAPI (C++/Delphi only), CDO 1.21,
>> Redemption or MailItem.PropertyAccessor in Outlook 2007
>>
>> Dmitry Streblechenko (MVP)
>> http://www.dimastr.com/
>> OutlookSpy - Outlook, CDO
>> and MAPI Developer Tool
>>
>> "Bickers" <[email protected]> wrote in message
>> news:[email protected]...
>> > Hi,
>> >
>> > I need to track messages in a database, but be able to handle the same
>> > message being sent to multiple recipients (within an Exchange
>> > environment).
>> >
>> > I know that all messages sent to multiple recipients will have the same
>> > MessageID value, but I can find no information as to how to retrieve
>> > it.
>> >
>> > What I'm planning is that when a message is opened, an AddIn will check
>> > whether the message has already been handled and if not, store info in
>> > a
>> > database (simplistic view). When another user reads the same message, I
>> > need
>> > to be able to detect that it's already been handled.
>> >
>> > Thanks for any help,
>> >
>> > Phil.
>>
>>
>>
 
Back
Top