What Is a Message-ID and How Do You Trace an Email With It?
A Message-ID is a unique identifier stamped on every email. Learn what a Message-ID looks like, where to find it, and how to trace a message with it.
A Message-ID is a globally unique string that the sending mail system assigns to each email when it is created, written in the Message-ID header. It looks like a long random token followed by an @ and the sending domain, wrapped in angle brackets. Because every hop logs it, the Message-ID is the single most reliable way to trace one specific message through mail servers, delivery logs and support tickets.
Quick summary
- Threading: mail apps read In-Reply-To and References, which contain earlier Message-IDs, to group a conversation.
- Deduplication: a server that receives the same Message-ID twice, for example through two forwarders, can drop the second copy.
- Logs: every mail server writes the Message-ID next to its queue ID, so an administrator can grep for it.
- Support: when a provider asks for the Message-ID, they can find the exact delivery attempt and its response.
- Gmail: open the message, click the three dots, Show original. The Message-ID is listed at the top of the summary and in the raw headers.
What a Message-ID looks like
Message-ID: <20260712091533.7f3a9c1e@yourdomain.com>
Message-ID: <CAF1x9Kj+3Q8vT_mNp2wz@mail.gmail.com>
Message-ID: <b7e4d2a0-5c1f-4e8a-9b3d-1a2c3d4e5f60@mail.oqumail.com>
Related headers in a reply:
In-Reply-To: <20260712091533.7f3a9c1e@yourdomain.com>
References: <20260712091533.7f3a9c1e@yourdomain.com>How it is used
- Threading: mail apps read In-Reply-To and References, which contain earlier Message-IDs, to group a conversation.
- Deduplication: a server that receives the same Message-ID twice, for example through two forwarders, can drop the second copy.
- Logs: every mail server writes the Message-ID next to its queue ID, so an administrator can grep for it.
- Support: when a provider asks for the Message-ID, they can find the exact delivery attempt and its response.
How to find the Message-ID
- Gmail: open the message, click the three dots, Show original. The Message-ID is listed at the top of the summary and in the raw headers.
- Outlook desktop: open the message, File, Properties, and scroll the Internet headers box.
- Outlook on the web: open the message, three dots, View, View message details.
- Apple Mail: View, Message, All Headers, or Raw Source.
- OquMail webmail: open the message and view its source to see the full headers and the ID.
Tracing a message step by step
- Copy the Message-ID including the angle brackets.
- If you sent it from OquMail, open the delivery log for that message; it shows the time OquMail handed it to the remote server and the response code that came back.
- If it was received, read the Received headers from bottom to top. Each one names the server that accepted the message and the timestamp, so gaps reveal where it was delayed.
- If it was forwarded, the Message-ID stays the same while a new Received line is added, which is how you prove it is the same email.
- When asking a recipient to search, tell them to search the ID in Gmail with rfc822msgid: followed by the ID.
Common mistakes
- Confusing the Message-ID with the queue ID that appears in bounce messages. The queue ID is per server; the Message-ID is per message.
- Trusting the Message-ID domain as proof of origin. It is set by the sender and can be anything; use authentication (proof that email really comes from your company)-Results for proof.
- Generating duplicate Message-IDs in custom code. If you build your own headers, use a UUID plus your domain.
- Stripping the header in a forwarding rule, which breaks threading and makes tracing impossible.
Message-IDs and OquMail
OquMail assigns a unique Message-ID to every message sent from webmail, a connected mail app, or the send API, and stores the delivery outcome against it. When a customer says they never received your invoice, open the message in the dashboard, read the delivery log entry, and you will see either the remote acceptance or the exact rejection text, no bounce hunting required.
Message-ID versus the queue ID in a bounce
When mail bounces, the notice often quotes a short identifier such as x12si345 or 4Yk2Bn3pQz. That is the queue ID assigned by one particular server and it changes at every hop. The Message-ID stays constant from creation to final delivery, so quote the Message-ID when you ask a provider or a recipient to look for a message, and use the queue ID only when talking to the administrator of that specific server.
Common questions
Is the Message-ID the same on every copy?
Yes. A message sent to five recipients carries one Message-ID in all five copies. Replies get new IDs and reference the original.
Can two different emails share a Message-ID?
They should never. Well-behaved systems generate unique values; collisions are a sign of a buggy sender.
Does the Message-ID reveal anything private?
Usually a timestamp and the sending host name. It does not contain content or recipient lists.
Free business email on your own domain
OquMail gives you up to 15 mailboxes on your domain — free — with guided SPF/DKIM/DMARC, webmail, IMAP/SMTP for any mail app, and a send API. Most teams are live in under fifteen minutes. Start at oqumail.com.
Get started free