updated version

Mailto URIs - Compose Form Data

Introduction

Mailto URIs are described in RFC2368.

Address lists are described in RFC2822.

Decoding of URIs is described in RFC3986, but see ECMAScript's decodeURIComponent for decoding hvalues.

When a mailto client is passed a mailto URI, the client creates a compose form and uses the information from the URI to fill in the TO, CC, BCC, SUBJECT and BODY fields. This document serves as a companion to RFC2368.

For example, click on the following email link.

mailto link

In your mailto client's compose form, you should get the following results. [9]

To:

Cc:

Bcc:

Subject:

The client accomplishes this by parsing the mailto URI according to certain rules, which are described below.

Parsing a mailto URI into a compose form.

Copying data

Notes & Issues

  1. Should empty BODY hvalues that appear before the first non-empty BODY hvalue really be ignored? Thunderbird does it, but...
  2. For literal user input, should the exact process of removing escape characters and outside quotes in TO, CC and BCC values be described? M2 and most other clients (including webmails) require properly-escaped values, but Thunderbird allows both. However, Thunderbird deescapes TO and CC address differently (probably due to bugs).
  3. Should + be decoded to a space to handle mailto form submissions? Asked on the list about this. See http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2007-January/009210.html.
  4. Empty TO, CC and BCC hvalues should probably be ignored. It doesn't make sense to keep them. Thunderbird for example ignores them, but M2 does not.
  5. Thunderbird is an example of a client that has a compose form where each address is in its own field. Should it be described how to split the addresses into separate fields? Address are separated by a comma and a space, so it's probably obvious, but some specifics maybe?
  6. Mozilla "Copy E-mail address" Bug.
  7. Mozilla BCC decoding bug.
  8. M2 and Thunderbird are only focused on because they have more complete mailto parsing support than others. Most of the parsing support specified here has never been added by other clients.
  9. In Thunderbird, each address is in its own field instead of a comma-separated list in one field.

Contact