Right now I'm investigating the implementation of a generic e-mail client which - in order to keep track of conversations of individual e-mail messages - likely needs to rely on a couple of headers as described in: https://tools.ietf.org/html/rfc5322.
The headers I'm referring to are: MessageId
, In-Reply-To
and References
.
Now I know that typical e-mail clients rely on these headers to do conversation threading and I mastered how they are supposed to work. What I'm curious about though is how they hold up in in practice when dealing with public services like Gmail and Windows Live Mail but also private services such as Microsoft Exchange.
To put it more simply, it raises questions like:
- How likely will I encounter incoming e-mail messages lacking a
MessageId
-header? - Is it possible that
MessageId
-values I'm including with my outgoing e-mail messages may not reappear in theIn-Reply-To
and/orReferences
-headers of incoming e-mail messages, preventing me from detecting them as replies? - Can I expect (partial) rewriting of any of these headers?
Summing things up: Could I run into issues relying blindly on these headers?