How do I get a mail item's MessageID

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.
 
K

Ken Slovak - [MVP - Outlook]

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.
 
D

Dmitry Streblechenko

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
 
G

Guest

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.
 
G

Guest

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.
 
K

Ken Slovak - [MVP - Outlook]

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.
 
D

Dmitry Streblechenko

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
 
Joined
Apr 27, 2012
Messages
1
Reaction score
0
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.
>>
>>
>>
 

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