Evolution Connector for Microsoft Exchange Programmer’s Reference Manual |
---|
Message Threading in Public Folders |
Outlook lets you view
Exchange Public Folders in a "Conversation"
mode similar to Evolution's "Threaded"
mode. However, it doesn't do it via In-Reply-To
or
References
headers. CamelExchangeFolder translates
Exchange's system so that the messages
thread properly in Evolution
A new post to a folder gets a 27-byte-long "thread index". (The value is apparently unique but has no meaning we know of.) Each reply to a new post gets a thread index that starts with the original post's thread index, followed by 5 additional bytes. (Thus, the reply to a new post would have a 32-byte-long thread index, and a reply to that post would have a 37-byte-long thread index, etc.)
The Thread-Index
header contains a base64
representation of this value. CamelExchangeFolder keeps a hash
table mapping from Thread-Index
values to
Message-ID
s. When it finds a message with a
Thread-Index
but no In-Reply-To
or References
, it looks up the parent thread index
(ie, all but the last 5 bytes) in the hash, and (assuming it finds
it), fakes a References
header pointing to it.