Visual RFC.
ALL RFCs / RFC 6068
Read the RFC ↗
RFC 6068 / MAILTO LINKS AND MESSAGE TEMPLATES

Prepare a draft before interacting with mail servers

01

Resolving a mailto URI typically creates a message with default values. The user can edit it, send it unchanged, or choose not to send.

RFC 6068 · § 3EXAMPLE
4 / 4
Prepare a draft before interacting with mail serversA typical illustrative mailto resolution has four stages. An application hands a URI to configured mail software, without immediate mail-server interaction. A draft contains decoded To chris at example com and Subject Hello for editing or cancellation. A client follows SHOULD NOT by stopping an attempted send without decoded review and approval. A separate chosen user-approved path submits the message to a mail service, not directly to the recipient and not with a delivery guarantee. Exact handler UI and submission protocol are outside this specification.Preparing a draft is separate from sending mailMUA clientSubmission serviceuser-approved sendPrepared messageChosen path: submit after approvalSubmission does not prove delivery
04
Send only after the illustrated approval.

In this chosen path, the user approves the displayed message and mail software submits it. Submission is separate from activation and does not establish eventual delivery.

Source for this drawing: RFC 6068 · Read RFC section 3 ↗

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
New to this? Start hereA quick picture + helpful background

A message needs an address.

Think of a packet as a small addressed envelope. Devices pass it onward; transport protocols decide what delivery promises an application gets.

Helpful first, if these ideas are unfamiliar

These pictures are analogies to help you learn. The linked RFC explains the actual rules.

Terms in this drawing
URI
Uniform Resource Identifier, such as a mailto link.
MUA
Mail User Agent: software composing and handling email.
Percent encoding
A percent sign followed by two hexadecimal digits represents one byte.
Default field
A proposed message value the user can inspect or change before sending.
Related RFCs and changes

“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.

KEY POINT

A message template is not an automatic send command.

  • Unlike a typical HTTP resolution, resolving mailto does not cause an immediate interaction with a mail server. It supplies defaults to mail software; exact handler setup and UI depend on the platform.
  • The client SHOULD NOT send without first showing the full message, fully decoded, including URI-specified fields, and asking the user for approval. It SHOULD make clear that an email is about to be sent.
  • The user may edit, send unchanged or cancel. A submitted message is not proof of delivery; the URI does not automatically retrieve a resource from a mailbox.
DETAILS

MUA means Mail User Agent, the software composing the message. A browser or another application can activate the link; a configured handler is needed. The staged flow is illustrative, not a mandated desktop UI or mail-submission protocol. No real email is sent by this guide.

Read the RFC section ↗

All chapters in RFC 6068

Drawing view

Scroll the drawing to see every part. Playback controls stay above it.

RFC 9700 / CHAPTERS

Chapters

For full details, tables, algorithms, and exceptions, read the original RFC.

RFC status and corrections ↗