I just had a massive issue with a younger IT guy who was trying to communicate to me how to find an email thread he was referring to. It was a waste of time.

Now I understand that email should be able to be narrowed down using various parameters; subject; date; time; to: field; from field; cc field, but is there a "primary key" that is hashed to be able to for instance send to someone so they can find the same email? git commits work like this, why can't email? If someone was referring to an email, they could simply send you the hash, you could plug that into the search field somehow and find exactly what they are talking about.

Does a feature like this exist in email? That's what I really hate about it, there is no URLs for emails.


There are two questions in your post: does this feature exist, and does this feature exist in Microsoft Outlook. Yes, this exists, but no, you can't use it from Outlook.

Do Outlook Emails or Email Threads have a unique identifier hash that can be used within the search syntax?

Each message has a Message-ID header, and this is what most systems (such as mailing-list archives) will use to reference a specific message. Usually this ID is assigned by the sender's mail app. The Message-ID is also used for combining threads; every reply has a References header which lists its parent message ID.

Message-Id: <fa04e438d58a37ed@frisell.zx2c4.com>
To: "WireGuard mailing list" <wireguard@lists.zx2c4.com>
Subject: [ANNOUNCE] WireGuard Snapshot `0.0.20191219` Available

Unfortunately, searching by this ID in Outlook is a bit difficult. But regardless, that's the only standard ID there is for email messsages.

While messages have a unique ID, threads generally don't. Email does not have threads as entities – it's just a bunch of messages that link to their 'parents' (or in the case of Gmail, a bunch of messages that have the same subject).

So usually you just link to a specific message and hope that the mail app will automatically show it in the context of a full thread.

Outlook does generate its own Thread-Index header, however you cannot search by it, and it is not used by any other email software.

Does a feature like this exist in email? That's what I really hate about it, there is no URLs for emails.

Emails do have URIs (just identifiers, as opposed to locators). The standard scheme is mid: as per RFC 2392, and it also uses the Message-ID as identifier. An example:


In other mail apps, the Message-ID can be easier to use – e.g. you can search by ID in Gmail using:


And since this particular example was posted to a Linux mailing list that is publicly archived, you can make a URL that'll retrieve the message from an online archive:


There can be other variants. For example, if you had a shared mail folder that was accessible via IMAP, you could possibly use an imap:// URL (but I don't think many apps support it).

Of course, it's impossible to have a generic URL format that'll work for any message, simply because there's no central database of all emails ever sent (the 'L' in 'URL' implies that you need to specify exactly where to retrieve the message from).

git commits work like this, why can't email?

Git can use hashes because Git commits are never modified in transit, but email messages are – email comes from an era when you couldn't rely on a message retaining its shape exactly. Even today when everyone speaks SMTP and MIME, you'll see some system on the sending or receiving side that will add custom headers or edit existing ones (like a spam filter or such).

So simply having an ID works out better than having a hash. For example: If you send the same email message simultaneously to a list and to someone privately, the list-sent copy will often have its Subject prefixed and a footer appended, but it will still have the same Message-ID as the direct privately-sent copy.

(And there are mail programs like Microsoft Outlook which will internally disassemble a MIME message into its individual parts, and if you ask them to reassemble for exporting or e.g. IMAP/POP3 access it will be slightly different. I believe this has something to do with the X.400 heritage of Microsoft Exchange – there was a time when SMTP/MIME wasn't the world's only mail format.)

  • So I can't search by Message-ID because much like human communication email is not stable? – leeand00 Jan 14 at 15:04
  • Message-ID is indeed a unique identifier for each message but you can't search a message by its Message-ID. And I'm afraid there is no such way to search messages. – Aidan Jan 15 at 8:27
  • Well, it seems that you can. (And of course you can search by Message-Id in various other mail apps.) – user1686 Jan 15 at 13:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.