What is threading
Email structureAn email is made of headers followed by the message body. Headers contain metadata about the message: who sent it, to who, when the message was sent, what the subject is, etc. etc.. The message body is, well, the message body. To see the headers, select a message in your message list, and in the menus, hit View > Message source. You will see the raw contents of the message. Everything before the first blank line is the message source is headers. The rest is the message body. We'll mainly talk about headers here.
Default behavior in Thunderbird 3
About message ids
When an email is sent, it is assigned a unique message id. This message id is stored in the Message-Id:
header.
When Alice sends a message to Bob, Alice's message is assigned a message id, say, for the sake of example, "AliceMsg1". Now when Bob replies to Alice's message, Bob's message is also assigned a message id, say, "BobMsg1". If we leave the situation "as is", when Bob's reply arrives in Alice's mailbox, Alice's MUA (Mail User Agent, i.e. the program she uses to read and send email) has no way to figure out that Bob's reply actually relates to Alice's original email.
To alleviate this problem, Bob's MUA adds an additional header called Reply-To:
, whose value is "AliceMsg1". This header tells which message Bob is replying to, which allows Alice's MUA to figure out that "AliceMsg1" and "BobMsg1" relate together. There is another header that serves the same purpose, but that can hold more than one value, called the References:
header.
Thunderbird 3, by default, will analyze these headers and thread related messages together. Make sure you hit View > Sort by > Threaded, and Thunderbird will thread related messages for you.
By default, Thunderbird will NOT analyze the subjects to determine threading.
Extra threading
In case two messages in Alice's inbox refer to message id "SomeMsg1", and the message which has this id no longer exists in Alice's inbox, Thunderbird will thread the two messages together anyway, because they refer to a common ancestor.
Why does threading fail?
Some badly behaved MUAs will fail to set the correct References:
or Reply-To:
headers. This is bad attitude, because the recipient's MUA will have no information to thread the resulting messages together. If Thunderbird Conversations fails to thread messages together, ask the other participants in the conversation to use a modern MUA!
Hidden threading preferences
Using the subject to figure out threading
Thunderbird can be configured to use the email's subjects to figure out threading. This is potentially dangerous, because it might thread together messages that aren't related. If person A sends a message with subject Hello
, and another person sends a message with subject Re: Hello
, the two will be threaded together always.
To enable this behavior, change the hidden pref mail.strict_threading
from true
to false
.
More aggressive threading
Thunderbird can thread together emails which share a common subject, without requiring the Re:
part in the subject.
To enable this behavior, change the hidden pref mail.thread_without_re
from false
to true
.
The following are impossible:
- manually marking which messages belong to a common thread,
- fixing the
Reply-To:
of a message which was sent to you, - basically anything that implies modifying messages you've already received.