4

EWS Managed API have two properties:ConversaionId and ConversationIndex

What is the difference between them? I guess ConversationId is the the ConversationIndex of the first mail in the conversation which is essentially of 22 bytes, while ConversationIndex is the index of that particular reply in the conversation thread, essentially of 22 bytes + multiples of 5 bytes for each reply in the conversation. Is it like that?

Also ConversationId is accessible only with Exchange Server 2010 onwards. So cant we access ConversationId in the Exchange Server 2007?

Mahesha999
  • 22,693
  • 29
  • 116
  • 189

2 Answers2

3

Correct, you can't access ConversationId in Exchange 2007.

The ConversationId identifies the conversation. The ConversationIndex represents the message’s position relative to the original message. ConversationId is not the ConversationIndex of the first mail. Here are some sample values I just grabbed off a new message.

<t:ConversationId Id="AAQkADIwM2ZlM2ZlLWMwYjctNDg2Ny04MDU0LTVkMTFmM2IxY2ZjZQAQACkRMjewk3RHldv8l7aTV2s=/>
<t:ConversationIndex>AQHPkWCfKREyN7CTdEeV2/yXtpNXaw==</t:ConversationIndex>
<t:ConversationTopic>test message</t:ConversationTopic>
Mimi Gentz
  • 1,628
  • 10
  • 14
  • so how can I track particular conversation across different mail servers if I cannot access `ConversationId` in Exchange Server 2007? – Mahesha999 Jun 30 '14 at 20:52
  • See this thread, you can actually use an extended property definition to access the ConversationId in Exchange 2007. [http://stackoverflow.com/questions/7487570/implementing-outlook-2010s-group-by-conversation-using-ews-and-exchange-2007](http://stackoverflow.com/questions/7487570/implementing-outlook-2010s-group-by-conversation-using-ews-and-exchange-2007) – Mimi Gentz Jul 01 '14 at 16:29
0

It should be noted that ConversationId does not appear to be unique per entirely different conversation threads.

Meaning, while you can be assured that two conversations that don't share the same ConversationId are definitely not related, the converse -- that the same ConversationId guarantees the same "email thread" -- as popularly understood (people answering each other in a chain) -- does not appear to be the case.

I have discovered multiple instances of the same ConversationId on the same email Subject (every now and then) even though the cascade is not off the original.

So for example if HR sends out a "Thought of the Day" email freshly each day to a given group X, this may have the same ConversationId even if they are new chains.

This is problematic if one is sorting emails on a website from payroll by, say, "RE: your 401k" and two distinct conversations are conflated.

John Linton
  • 199
  • 1
  • 13
  • Yes. I'm finding the same thing. But this seems to be limitation in the mail client itself. My guess is that most clients rely on the subject rather than the Exchange specific conversation id. – Christian Findlay Oct 05 '17 at 21:38
  • My guess is MS did not give this property (ConversationID) the unique per-conversation quality a developer would naturally assume it should have, probably as it would rarely be relevant. Whereas say ExchangeID is absolutely unique per item. – John Linton Oct 12 '17 at 13:54