Reply and Threading (was: Re: [Evolution] Filter Problems - Not the Usual Ones...)



[ Forking this thread, as this is a completely unrelated topic. ]

On Mon, 2003-10-06 at 21:48, Traci Collins wrote:
On Mon, 2003-10-06 at 09:35, guenther wrote:
*Please*, do not hijack unrelated threads. Unless you wanna contribute
to a ongoing discussion, you should click the blue, link-style email
address, rather than replying.

To visualize this: View / Threaded Message List

Sorry, I know the difference, I just am used to mail programs that
aren't that sophisticated in tracking a tread that they can do it when
the original subject has been changed. I will do better from now on.

Those are broken clients IMHO...

As this topic came up recently (but the question was sent to me
off-list), I will post some threading background to the list. Hopefully
it will let others understand the concept better.

...guenther


--- snip ---

You can check the headers of a replied mail (for example this) and you
will see all the relevant headers:

Every mail has a Message-Id: header, which holds an ID that is very
likely unique (although it is not guaranteed to be unique).

When replying to a message, this Message-Id of the mail you are replying
to, is written to the In-Reply-To: header. Thus mailers can determine
which mail is the predecessor.

The References: header holds every Message-Id, that is/was set as
In-Reply-To: header. Therefore, threads can be displayed correctly, even
when the predecessor is missing (for example already deleted).


Of course, all this only applies to mailers that care about those
headers. There are some well-known mailers, that give a f**k about
In-Reply-To and References headers...


Now, done with the theory, to use threading in Evolution and display
threads nicely (extremely useful for mailing lists) just set this:

 [x] View / Threaded Message List

You will instantly see all mails in that folder threaded.


-- 
char *t="\10pse\0r\0dtu\0  ghno\x4e\xc8\x79\xf4\xab\x51\x8a\x10\xf4\xf4\xc4";
main(){ char h,m=h=*t++,*x=t+2*h,c,i,l=*x,s=0; for (i=0;i<l;i++){ i%8? c<<=1:
(c=*++x); c&128 && (s+=h); if (!(h>>=1)||!t[s+h]){ putchar(t[s]);h=m;s=0; }}}




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]