Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Message-ID, In-Reply-To and References headers provides this.

Hashing a post is a hard problem, because an MTA can change the encoding of the message in all kinds of ways, so you'd first need to specify a canonical form for the message. But it's also unnecessary if you can trust the sending mail server to add a Message-ID field that is unique (which it can do however it wants to, and then ensure global uniqueness by appending its hostname; note that a client needs to take a bit of care because of course a broken server may not enforce uniqueness).

A harder to solve problem is that it takes very few broken mail clients participating in a thread before it causes a mess.



The thing about a hash though, is any client could create the hash, or verify it. You could even have consensus ala blockchain type thing.

I guess if we use message-id, then a signed message from the mailserver with the message id would do. But signed messages still usually contain a hash of the thing they sign, no?


You could rely on DKIM signatures for that, potentially.

But lots of systems don't generate DKIM signatures. All systems generate message id's.

Using message-id's for threading has literally worked for decades when the clients supports the relevant headers. It's not the message-id that is the problem, but lack of support for the headers carrying them.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: