Visual RFC.
ALL RFCs / RFC 2392
Read the RFC ↗

RFC 2392 / START HERE

CID and MID references, before the details

Content-ID and Message-ID Uniform Resource Locators define the cid: and mid: URL schemes. A URL is a reference; these schemes name email messages and MIME body parts.

They let an HTML email refer to an image included in the same message, or let a link identify a whole stored message or a part within it. MIME means Multipurpose Internet Mail Extensions: the format that gives message parts their own headers and content.

Why it exists

An embedded image needs an identifier that a mail application can match to a body part. Some message stores also need the containing message’s ID, which the long mid form supplies.

A familiar example

A fictional email can use cid:photo@picnic.example to refer to the part whose Content-ID is <photo@picnic.example>. The suffix is part of an identifier, not an instruction to fetch a web image or a proof of the sender’s identity.

Helpful background

You can start here without reading another RFC. If these ideas are unfamiliar, these short introductions may help.

What you’ll learn next

Begin with chapter one, or choose a topic.

  1. Reference an embedded MIME body partMIME means Multipurpose Internet Mail Extensions. It lets a message contain several body parts, each with its own headers and content. A cid URL lets one part refer to another.
  2. Convert URL escapes and header bracketsA URL and a message header represent the same identifier using different notation. Percent escapes encode identifier characters; they do not encode the image or attachment payload.
  3. Use MID to name the message contextMID means Message-ID. A mid URL can identify a whole message or a particular body part inside a designated message. Its long form supplies context for stores that do not index all body parts separately.
  4. Respect identifier scope and MIME contextMessage-ID and Content-ID values are required to be globally unique, with a limited same-data MIME exception for Content-ID. A reader still needs the right message and containing MIME rules to interpret a reference.
  5. Keep references, payloads and trust separateThese schemes address messages and body parts. They neither authenticate the author nor guarantee that referenced data is available or safe to process.
Start with chapter one →

This introduction explains RFC 2392 (1998). Read the original RFC ↗