Structured Email P. Tao Internet-Draft Apple Inc. Intended status: Standards Track A. Gulbrandsen Expires: 5 May 2027 ICANN B. Bucksch Beonex 1 November 2026 Structured Quoted Content draft-ietf-sml-structured-quoted-content-01 Abstract This document describes a machine-readable format for conveying quoted content in email messages. This can be used when replying to or forwarding an email message. Structured quoted content is expected to be used in conjunction with conventional, human-readable quote formatting. They are based on the forthcoming "structured email" specification defined in [I-D.ietf- sml-structured-email-03] and related drafts. About This Document This note is to be removed before publishing as an RFC. The latest revision of this draft can be found at https://ptao.github.io/id-structured-quoted-content/draft-tao-sml- structured-quoted-content.html. Status information for this document may be found at https://datatracker.ietf.org/doc/draft-ietf-sml- structured-quoted-content/. Discussion of this document takes place on the Structured Email Working Group mailing list (mailto:sml@ietf.org), which is archived at https://mailarchive.ietf.org/arch/browse/sml/. Subscribe at https://www.ietf.org/mailman/listinfo/sml/. Source for this draft and an issue tracker can be found at https://github.com/ptao/id-structured-quoted-content. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Tao, et al. Expires 5 May 2027 [Page 1] Internet-Draft Structured Quoted Content November 2026 Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on 5 May 2027. Copyright Notice Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/ license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Conventions and Definitions . . . . . . . . . . . . . . . . . 4 3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4. Structured Email Format . . . . . . . . . . . . . . . . . . . 5 4.1. Structured Data Type . . . . . . . . . . . . . . . . . . 5 4.2. Vocabularies . . . . . . . . . . . . . . . . . . . . . . 5 5. JSON-LD Objects . . . . . . . . . . . . . . . . . . . . . . . 5 5.1. Common Properties . . . . . . . . . . . . . . . . . . . . 6 5.2. EmailMessage . . . . . . . . . . . . . . . . . . . . . . 6 5.2.1. Value Types . . . . . . . . . . . . . . . . . . . . . 7 5.2.2. Properties . . . . . . . . . . . . . . . . . . . . . 7 5.2.3. Other Properties . . . . . . . . . . . . . . . . . . 9 5.3. QuotedContent . . . . . . . . . . . . . . . . . . . . . . 9 5.4. QuotedHeaderBlock . . . . . . . . . . . . . . . . . . . . 10 5.5. QuotedHeader . . . . . . . . . . . . . . . . . . . . . . 10 5.6. QuoteAttribution . . . . . . . . . . . . . . . . . . . . 11 5.7. TextContent . . . . . . . . . . . . . . . . . . . . . . . 11 5.8. ForwardPreamble . . . . . . . . . . . . . . . . . . . . . 12 6. HTML Format . . . . . . . . . . . . . . . . . . . . . . . . . 12 7. MUA Guidance . . . . . . . . . . . . . . . . . . . . . . . . 12 Tao, et al. Expires 5 May 2027 [Page 2] Internet-Draft Structured Quoted Content November 2026 8. Backwards Compatibility . . . . . . . . . . . . . . . . . . . 13 8.1. Quoting a Message Without Structured Quoted Content . . . 13 8.2. Quoting a Message With Structured Quoted Content, Without Support . . . . . . . . . . . . . . . . . . . . . . . . . 14 8.3. Effect on Later Messages . . . . . . . . . . . . . . . . 14 9. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 14 9.1. Example 1: Forward Containing a Nested Quote . . . . . . 15 9.1.1. HTML Part . . . . . . . . . . . . . . . . . . . . . . 15 9.1.2. JSON-LD Part . . . . . . . . . . . . . . . . . . . . 16 9.2. Example 2: Reply with Inline Comment . . . . . . . . . . 20 9.2.1. HTML Part . . . . . . . . . . . . . . . . . . . . . . 20 9.2.2. JSON-LD Part . . . . . . . . . . . . . . . . . . . . 21 9.3. Example 3: Quote Chain including Non-Adopter . . . . . . 25 9.3.1. HTML Part . . . . . . . . . . . . . . . . . . . . . . 25 9.3.2. JSON-LD Part . . . . . . . . . . . . . . . . . . . . 26 10. Security Considerations . . . . . . . . . . . . . . . . . . . 30 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 30 12. Normative References . . . . . . . . . . . . . . . . . . . . 30 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 31 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 31 1. Introduction Email messages often content quoted sections of earlier email messages, typically as part of a reply or a forwarded message. The presentation is entirely determined by the sending MUA. Though various conventions have evolved around this quoting, the behavior is still largely unstandardized, and behavior differs widely between MUAs. Some notable differences include: * Where newly authored content may be inserted relative to the quoted content. - Some MUAs allow inserting new content only above the quoted message, while some allow inserting new content inline between blocks of quoted text. * The formatting used to denote the quoted section. * Whether some set of headers are also quoted, or whether an attribution line or preamble is inserted. - Whether the headers, attribution line, or preamble are localized into the sender's device language. Tao, et al. Expires 5 May 2027 [Page 3] Internet-Draft Structured Quoted Content November 2026 Due to the above, an email chain in a user's inbox may involve a wide mix of differing quoting styles, which can be visually disorienting. The goal of this draft is to introduce a standardized way to structure quoted content in message replies and forwarded messages. This allows the sending MUA to annotate the various components of the quoted content in such a way that the receiving MUA can then apply a consistent presentation across all messages. 2. Conventions and Definitions The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. 3. Overview An MUA that supports Structured Quoted Content composes the HTML part of a reply or forward as usual, in its own quoting style. It then: * marks each part of the quoted content in the HTML part with an element that has a data-id attribute (Section 6); and * adds an application/ld+json part with a JSON-LD object for each marked element, whose @id matches the element's data-id (Section 5). The figure below shows this for a quote introduced by an attribution line. HTML part JSON-LD part --------- ------------
..... QuotedContent message --> EmailMessage
QuoteAttribution On Sep 15, Alice Chen wrote: from --> sender
date --> dateSent
... TextContent (Alice's text)
Figure 1: An attribution-style quote and its structured data (identifiers shortened) Tao, et al. Expires 5 May 2027 [Page 4] Internet-Draft Structured Quoted Content November 2026 A receiving MUA that supports Structured Quoted Content can therefore find each part of the quoted content in the HTML part, know what it is and which message it comes from, and render it differently (Section 7). A receiving MUA that does not support it renders the HTML part as usual. 4. Structured Email Format 4.1. Structured Data Type All quoted content will be transmitted as "Partial representation" as defined in Section 4.3.2 of [I-D.ietf-sml-structured-email]. 4.2. Vocabularies Structured Quoted Content uses the Schema.org vocabulary [SchemaOrg], as well as a custom vocabulary to be defined at *INSERT LINK*. 5. JSON-LD Objects The structured data is an array containing two kinds of objects: * EmailMessage objects describe a message being quoted. There is one for each message that appears anywhere in the quoted content. * QuotedContent, QuotedHeaderBlock, QuotedHeader, QuoteAttribution, TextContent, and ForwardPreamble objects describe how the quoted content is laid out in the HTML part. These objects mark parts of the HTML part. Where this document says a property references an object, its value is that object's @id, or an array of them. The relationships between the object types are: QuotedContent +-- message -------> EmailMessage +-- preamble ------> ForwardPreamble +-- headerBlock ---> QuotedHeaderBlock | +-- header: QuotedHeader objects | +-- value --> a property of the | EmailMessage +-- attribution ---> QuoteAttribution | +-- date --> dateSent | +-- from --> sender +-- content -------> TextContent and nested QuotedContent Tao, et al. Expires 5 May 2027 [Page 5] Internet-Draft Structured Quoted Content November 2026 A QuotedHeaderBlock and a QuoteAttribution are alternative ways of introducing a quoted message, so a QuotedContent has at most one of them (Section 5.3). 5.1. Common Properties Every object has @context, @type, and @id. Each object type defines its own @id format. EmailMessage defines its own @context (Section 5.2); for all other object types, @context is "https://sml.draft.iana.org". Unless stated otherwise, a receiving MUA MUST ignore properties it does not recognize, and MUST process the rest of the object as if they were absent. 5.2. EmailMessage An EmailMessage object describes one message that appears in the quoted content. It holds the header field values [RFC5322] that MUAs typically show for a quoted message, such as its sender, recipients, subject, and date. The structured data contains one EmailMessage object for each distinct message in the quoted content, at any level of nesting. A sending MUA SHOULD NOT include EmailMessage objects that no QuotedContent object references. When the sending MUA splits one quoted message into several blocks, for example to insert inline comments, each block has its own QuotedContent object, and they all reference the same EmailMessage. EmailMessage uses the Schema.org [SchemaOrg] EmailMessage type, with terms from the sml.draft.iana.org vocabulary for dates. Its @context MUST be the following: "@context": [ "https://schema.org/", { "dateSent": "https://sml.draft.iana.org/dateSent", "DateTime": "https://sml.draft.iana.org/DateTime", "iso8601Extended": "https://sml.draft.iana.org/iso8601Extended" } ] Unlike Schema.org's dateSent, these dates are nodes with their own @id, so that QuotedHeader and QuoteAttribution objects can reference them. Tao, et al. Expires 5 May 2027 [Page 6] Internet-Draft Structured Quoted Content November 2026 Its @id is a mid: URL [RFC2392]: "mid:" followed by the value of the message's Message-ID header field, without the enclosing angle brackets and percent-encoded as [RFC2392] requires. For example, a message with Message-ID: has the @id "mid:msg-ex1-001@example.com". Characters such as #, /, and % are allowed in a Message-ID but have special meaning in the URL, so they have to be encoded: Message-ID: gives "mid:a%23b%2Fc@example.com". 5.2.1. Value Types The EmailMessage properties in Section 5.2.2 use the following value types. Each property defines the @id format of its values. 5.2.1.1. DateTime A DateTime is a DateTime object from the sml.draft.iana.org vocabulary, representing a date and time. It has this property: iso8601Extended REQUIRED. The date and time in ISO 8601 extended format, with a UTC offset, using the date-time syntax of Section 5.6 of [RFC3339], for example "2025-09-15T09:47:00-07:00". 5.2.1.2. Person A Person is a Person object from the Schema.org vocabulary [SchemaOrg], representing one mailbox. It has these properties: email REQUIRED. The mailbox's address, for example "alice@example.com". name OPTIONAL. The mailbox's display name with any encoded-words [RFC2047] decoded, if the header field includes one. 5.2.1.3. Thing A Thing is a Thing object from the Schema.org vocabulary. It has this property: name REQUIRED. The text that the Thing represents, as defined by the property that uses it. 5.2.2. Properties The following table lists the properties of an EmailMessage, with the requirement level and value type of each. Each property is defined after the table. Tao, et al. Expires 5 May 2027 [Page 7] Internet-Draft Structured Quoted Content November 2026 +==============+=============+============================+ | Property | Requirement | Value | +==============+=============+============================+ | dateSent | REQUIRED | DateTime (Section 5.2.1.1) | +--------------+-------------+----------------------------+ | sender | REQUIRED | Person (Section 5.2.1.2) | +--------------+-------------+----------------------------+ | toRecipient | RECOMMENDED | Person, or array of Person | | | | (Section 5.2.1.2) | +--------------+-------------+----------------------------+ | ccRecipient | RECOMMENDED | Person, or array of Person | | | | (Section 5.2.1.2) | +--------------+-------------+----------------------------+ | about | RECOMMENDED | Thing (Section 5.2.1.3) | +--------------+-------------+----------------------------+ | bccRecipient | MUST NOT | | | | appear | | +--------------+-------------+----------------------------+ Table 1: EmailMessage properties The RECOMMENDED properties apply only when the message has the corresponding header field (To, Cc, or Subject). In addition, an EmailMessage MUST include every property that a QuotedHeader or QuoteAttribution object references. For example, if a header block shows a "Cc:" line, the EmailMessage for that message includes ccRecipient. The properties are defined as follows: dateSent The message's Date header field, as a DateTime. Its @id is the message's @id followed by "#dateSent", for example "mid:msg- ex1-001@example.com#dateSent". The UTC offset in its iso8601Extended SHOULD be the one in the Date header field. sender The author of the message, from its From header field (not its Sender header field), as a Person. Its @id is a mailto: URI [RFC6068]: "mailto:" followed by the mailbox's address, for example "mailto:alice@example.com". The address in the @id, with any percent-encoding decoded, MUST be the same as the Person's email. toRecipient The recipients in the message's To header field, as a Person or an array of Person, in the order they appear in the header field. Each Person is as described for sender. ccRecipient The recipients in the message's Cc header field, as a Tao, et al. Expires 5 May 2027 [Page 8] Internet-Draft Structured Quoted Content November 2026 Person or an array of Person, in the order they appear in the header field. Each Person is as described for sender. about The message's Subject header field, as a Thing. Its @id is the message's @id followed by "#subject", for example "mid:msg- ex1-001@example.com#subject". Its name is the subject text with any encoded-words [RFC2047] decoded. The same mailbox often appears more than once in the structured data, for example as the sender of one message and a recipient of another. A sending MUA SHOULD include the full Person object only once, and use a node reference [JSON-LD] containing only its @id, for example {"@id": "mailto:alice@example.com"}, for the other occurrences. The bccRecipient property is defined by Schema.org for EmailMessage, but MUST NOT be included. Bcc recipients are hidden from the message's other recipients by design, and including them would disclose them to everyone who receives the new message. 5.2.3. Other Properties A sending MUA MAY include other properties that Schema.org defines for EmailMessage, other than bccRecipient. This document does not define any behavior for such properties, and a receiving MUA MAY ignore them. When a receiving MUA ignores a property, it MUST process the rest of the object as if that property were absent. The presence of such a property does not make the object or the structured data invalid. 5.3. QuotedContent A QuotedContent object represents one block of quoted content: a contiguous part of a quoted message, as it appears in the HTML part. It links the block to the message it was quoted from, to any preamble, header block, or attribution line that the sending MUA placed above it, and to the content of the block itself. QuotedContent objects nest. When a quoted message itself contains quoted content, the inner block is a separate QuotedContent object, listed in the content of the outer one. When the sending MUA splits a quoted message into several blocks, for example to insert inline comments between them, each block is a separate QuotedContent object that references the same EmailMessage. Typically only the first of these blocks has an attribution line or header block. Tao, et al. Expires 5 May 2027 [Page 9] Internet-Draft Structured Quoted Content November 2026 A sending MUA introduces a quoted message either with a header block or with an attribution line, depending on its quoting style. A QuotedContent object therefore has at most one of headerBlock and attribution, never both. It has neither when the block has no introduction, for example when it continues a message after an inline comment. Its @type is "QuotedContent", and its @id is "quoted-content:" followed by a UUID [RFC9562]. It has the following properties: message REQUIRED. References the EmailMessage that this block is quoted from. preamble OPTIONAL. References the ForwardPreamble shown above the block. Present only when the block is a forwarded message and the sending MUA shows a preamble. headerBlock OPTIONAL. References the QuotedHeaderBlock shown above the block. MUST NOT be present if attribution is present. attribution OPTIONAL. References the QuoteAttribution shown above the block. MUST NOT be present if headerBlock is present. content REQUIRED. A JSON-LD list ({"@list": [...]}) [JSON-LD] of references to the TextContent and nested QuotedContent objects that make up the block, in the order they appear in the HTML part. 5.4. QuotedHeaderBlock A QuotedHeaderBlock object represents the lines of header fields (such as "From:", "Date:", and "Subject:") that some MUAs show above a quoted or forwarded message. Its @type is "QuotedHeaderBlock", and its @id is "quoted-header- block:" followed by a UUID. It has the following property: header REQUIRED. A JSON-LD list ({"@list": [...]}) of one or more QuotedHeader objects, one for each line of the block, in the order they are displayed. A QuotedHeaderBlock with no QuotedHeader objects is not allowed. 5.5. QuotedHeader A QuotedHeader object represents one line of a header block. It identifies the EmailMessage property whose value the line shows. Tao, et al. Expires 5 May 2027 [Page 10] Internet-Draft Structured Quoted Content November 2026 QuotedHeader objects appear only in the header list of a QuotedHeaderBlock; they are never top-level objects in the structured data, and no other JSON-LD object refers to them. A QuotedHeader's property and value refer to the EmailMessage referenced by the QuotedContent that the header block belongs to. Its @type is "QuotedHeader", and its @id is "quoted-header:" followed by a UUID. It has the following properties: property REQUIRED. References the EmailMessage property that the line shows, by that property's IRI: https://schema.org/sender, https://schema.org/toRecipient, https://schema.org/ccRecipient, https://schema.org/about, or https://sml.draft.iana.org/dateSent. For example, a "From:" line has {"@id": "https://schema.org/ sender"}. value REQUIRED. References the value that the line shows: the Person objects of sender, toRecipient, or ccRecipient, the subject object of about, or the DateTime of dateSent. When a line shows several recipients, this is an array. 5.6. QuoteAttribution A QuoteAttribution object represents the attribution line that some MUAs place above quoted text, for example "On Sep 15, 2025, at 9:47 AM, Alice Chen wrote:". Its properties reference the date and sender that the line shows. Its @type is "QuoteAttribution", and its @id is "quote-attribution:" followed by a UUID. It has the following properties: date OPTIONAL. References the DateTime of the dateSent property shown in the line. Absent when the line shows no date, as in "Alice Chen wrote:". from REQUIRED. References the Person of the sender property shown in the line. 5.7. TextContent A TextContent object represents a section of a quoted message's body [RFC5322], not including any content that the message itself quotes. Its @type is "TextContent", and its @id is "text-content:" followed by a UUID. It has no properties other than the common ones. Tao, et al. Expires 5 May 2027 [Page 11] Internet-Draft Structured Quoted Content November 2026 5.8. ForwardPreamble A ForwardPreamble object marks the line that some MUAs place at the start of a forwarded message, such as "---------- Forwarded message ---------" or "Begin forwarded message:". Its @type is "ForwardPreamble", and its @id is "forward-preamble:" followed by a UUID. It has no properties other than the common ones. 6. HTML Format Each QuotedContent, QuotedHeaderBlock, QuotedHeader, QuoteAttribution, TextContent, and ForwardPreamble object MUST correspond to exactly one element in the HTML part, typically a div or span. The element has the following attributes: data-id REQUIRED. The @id of the object, as defined in Section 4.4.2 of [I-D.ietf-sml-structured-email]. data-source-hint OPTIONAL. A hint for where to find the object: a cid: URI [RFC2392] referencing the MIME part that contains the structured data. The object is identified by its data-id; this attribute only suggests where to look for it. An object's element MUST be inside the element of the object that refers to it. The elements of a QuotedContent's preamble, header block, attribution line, and content are inside the QuotedContent's element, and the element of each QuotedHeader is inside the element of its QuotedHeaderBlock. EmailMessage objects describe messages rather than parts of the HTML part, and have no element. 7. MUA Guidance Structured Quoted Content identifies the parts of the quoted content in the HTML part, and the messages they were quoted from. A receiving MUA can use it to change or replace how the quoted content is rendered, in any number of ways. For example, it can: * Switch between quoting styles, for example rendering a header block as an attribution line or an attribution line as a header block, using the values in the EmailMessage. * Add or remove quoted header lines. For example, an MUA that always shows exactly the Date, Subject, and To of each quoted message can add any of those lines that a header block lacks, using the values in the EmailMessage, and remove any other lines. Tao, et al. Expires 5 May 2027 [Page 12] Internet-Draft Structured Quoted Content November 2026 * Translate the attribution line or quoted header labels into the user's preferred language. * Show the date of a quoted message in the user's own time zone, or as the sender saw it, using the UTC offset in dateSent. * Replace, translate, or hide a forward preamble. * Add an attribution line to a quoted block that has none, such as a block that continues a quoted message after an inline comment, so that the author of every block is clear. * Identify quoted text reliably, including deeply nested quotes, and collapse or condense it, without having to infer the quote structure from the HTML. A receiving MUA can use as much or as little of the structure as it needs. At one end, it can work on a single kind of object and leave the rest of the HTML part as the sending MUA wrote it, for example translating the labels of quoted header lines while ignoring the rest of the quoted structure. At the other end, it can replace the HTML of an entire top-level QuotedContent block with HTML it generates itself from the structured data. It can also do anything in between. The text of the quoted messages is not in the structured data; it is only in the HTML part, in the elements of the TextContent objects. A receiving MUA that generates its own HTML for a block therefore still uses the HTML of those elements for the quoted text. 8. Backwards Compatibility Not every MUA in a reply chain will support Structured Quoted Content. This creates two situations: 1. An MUA that supports Structured Quoted Content quotes a message that has none. 2. An MUA that does not support Structured Quoted Content quotes a message that has it. 8.1. Quoting a Message Without Structured Quoted Content An MUA that quotes a message without Structured Quoted Content SHOULD NOT try to reconstruct that message's quote structure, for example by parsing its HTML. Instead, it treats the quoted message as containing no quoted content: the message's body, including anything that it quotes in turn, is TextContent, with no nested QuotedContent. Section 9.3 shows this. Tao, et al. Expires 5 May 2027 [Page 13] Internet-Draft Structured Quoted Content November 2026 8.2. Quoting a Message With Structured Quoted Content, Without Support An MUA that does not support Structured Quoted Content is not bound by this document. When it quotes a message that has Structured Quoted Content, it can break it, for example by: * editing the HTML, so that its elements no longer match the objects in the structured data; * removing or changing the application/ld+json part, or keeping it only as an attachment, as some MUAs do with a quoted or forwarded message's attachments; or * changing the MIME structure, so that the message is no longer a partial representation. The resulting message has no usable Structured Quoted Content, even if its HTML still contains data-id attributes copied from the message it quoted. 8.3. Effect on Later Messages As a result, the structured data in a message describes only the most recent part of the reply chain: the messages back to the first one sent by an MUA without Structured Quoted Content support. Older messages are part of that message's TextContent, as ordinary HTML. When rendering a message, a receiving MUA SHOULD use only the structured data in that message's own application/ld+json part: the one in the same multipart/related entity as the HTML part it describes (Section 4.3.2 of [I-D.ietf-sml-structured-email]). An application/ld+json part elsewhere in the message, such as one attached from a quoted message, is not that message's structured data. A receiving MUA SHOULD ignore any data-id attribute that does not match an object in that part, and render that HTML as ordinary content. 9. Examples The examples in this section illustrate how Structured Quoted Content is applied across a range of common quoting scenarios. In each example, the application/ld+json MIME part carries all JSON-LD objects, its Content-Id is referenced by the data-source-hint attributes in the HTML part, and HTML elements use data-id to identify their corresponding JSON-LD object. Each Person is included in full once, at its first occurrence, and referenced by its @id elsewhere (Section 5.2.2). Tao, et al. Expires 5 May 2027 [Page 14] Internet-Draft Structured Quoted Content November 2026 All examples use the following MIME structure, with a unique Content- Id per message: multipart/alternative +-- text/plain +-- multipart/related; type="text/html" +-- text/html +-- application/ld+json Content-Id: 9.1. Example 1: Forward Containing a Nested Quote Alice emails Bob. Bob replies and CCs Carol. Carol forwards Bob's reply to Dave. Carol's message has the following structure: Carol's note +-- Bob's text (the forwarded reply) +-- Alice's text (Bob's nested quote of Alice) 9.1.1. HTML Part =============== NOTE: '\' line wrapping per RFC 8792 ================
---------- Forwarded message ---------
From: Bob Kumar <bob@example.com>
Date: Mon, Sep 15, 2025 at 2:23 PM
Subject: Re: Lorem ipsum
To: Alice Chen <alice@example.com>
On Sep 15, 2025, at 9:47 AM, Alice Chen <alice@example.com> wrote:
9.1.2. JSON-LD Part [ { "@context": [ "https://schema.org/", { "dateSent": "https://sml.draft.iana.org/dateSent", "DateTime": "https://sml.draft.iana.org/DateTime", "iso8601Extended": "https://sml.draft.iana.org/iso8601Extended" } ], "@type": "EmailMessage", Tao, et al. Expires 5 May 2027 [Page 16] Internet-Draft Structured Quoted Content November 2026 "@id": "mid:msg-ex1-001@example.com", "sender": { "@type": "Person", "@id": "mailto:alice@example.com", "name": "Alice Chen", "email": "alice@example.com" }, "toRecipient": [{ "@type": "Person", "@id": "mailto:bob@example.com", "name": "Bob Kumar", "email": "bob@example.com" }], "about": { "@type": "Thing", "@id": "mid:msg-ex1-001@example.com#subject", "name": "Lorem ipsum" }, "dateSent": { "@type": "DateTime", "@id": "mid:msg-ex1-001@example.com#dateSent", "iso8601Extended": "2025-09-15T09:47:00-07:00" } }, { "@context": [ "https://schema.org/", { "dateSent": "https://sml.draft.iana.org/dateSent", "DateTime": "https://sml.draft.iana.org/DateTime", "iso8601Extended": "https://sml.draft.iana.org/iso8601Extended" } ], "@type": "EmailMessage", "@id": "mid:msg-ex1-002@example.com", "sender": { "@id": "mailto:bob@example.com" }, "toRecipient": [{ "@id": "mailto:alice@example.com" }], "ccRecipient": [{ "@type": "Person", "@id": "mailto:carol@example.com", "name": "Carol White", "email": "carol@example.com" }], Tao, et al. Expires 5 May 2027 [Page 17] Internet-Draft Structured Quoted Content November 2026 "about": { "@type": "Thing", "@id": "mid:msg-ex1-002@example.com#subject", "name": "Re: Lorem ipsum" }, "dateSent": { "@type": "DateTime", "@id": "mid:msg-ex1-002@example.com#dateSent", "iso8601Extended": "2025-09-15T14:23:00-07:00" } }, { "@context": "https://sml.draft.iana.org", "@type": "QuotedContent", "@id": "quoted-content:A1000001-0000-0000-0000-000000000001", "message": {"@id": "mid:msg-ex1-002@example.com"}, "preamble": { "@id": "forward-preamble:A1000006-0000-0000-0000-000000000001" }, "headerBlock": { "@id": "quoted-header-block:A1000002-0000-0000-0000-000000000001" }, "content": {"@list": [ {"@id": "text-content:A1000004-0000-0000-0000-000000000001"}, {"@id": "quoted-content:A1000001-0000-0000-0000-000000000002"} ]} }, { "@context": "https://sml.draft.iana.org", "@type": "QuotedContent", "@id": "quoted-content:A1000001-0000-0000-0000-000000000002", "message": {"@id": "mid:msg-ex1-001@example.com"}, "attribution": { "@id": "quote-attribution:A1000005-0000-0000-0000-000000000001" }, "content": {"@list": [ {"@id": "text-content:A1000004-0000-0000-0000-000000000002"} ]} }, { "@context": "https://sml.draft.iana.org", "@type": "QuotedHeaderBlock", "@id": "quoted-header-block:A1000002-0000-0000-0000-000000000001", "header": {"@list": [ { "@context": "https://sml.draft.iana.org", Tao, et al. Expires 5 May 2027 [Page 18] Internet-Draft Structured Quoted Content November 2026 "@type": "QuotedHeader", "@id": "quoted-header:A1000003-0000-0000-0000-000000000001", "property": {"@id": "https://schema.org/sender"}, "value": {"@id": "mailto:bob@example.com"} }, { "@context": "https://sml.draft.iana.org", "@type": "QuotedHeader", "@id": "quoted-header:A1000003-0000-0000-0000-000000000002", "property": {"@id": "https://sml.draft.iana.org/dateSent"}, "value": {"@id": "mid:msg-ex1-002@example.com#dateSent"} }, { "@context": "https://sml.draft.iana.org", "@type": "QuotedHeader", "@id": "quoted-header:A1000003-0000-0000-0000-000000000003", "property": {"@id": "https://schema.org/about"}, "value": {"@id": "mid:msg-ex1-002@example.com#subject"} }, { "@context": "https://sml.draft.iana.org", "@type": "QuotedHeader", "@id": "quoted-header:A1000003-0000-0000-0000-000000000004", "property": {"@id": "https://schema.org/toRecipient"}, "value": {"@id": "mailto:alice@example.com"} } ]} }, { "@context": "https://sml.draft.iana.org", "@type": "QuoteAttribution", "@id": "quote-attribution:A1000005-0000-0000-0000-000000000001", "date": {"@id": "mid:msg-ex1-001@example.com#dateSent"}, "from": {"@id": "mailto:alice@example.com"} }, { "@context": "https://sml.draft.iana.org", "@type": "TextContent", "@id": "text-content:A1000004-0000-0000-0000-000000000001" }, { "@context": "https://sml.draft.iana.org", "@type": "TextContent", "@id": "text-content:A1000004-0000-0000-0000-000000000002" }, { "@context": "https://sml.draft.iana.org", "@type": "ForwardPreamble", Tao, et al. Expires 5 May 2027 [Page 19] Internet-Draft Structured Quoted Content November 2026 "@id": "forward-preamble:A1000006-0000-0000-0000-000000000001" } ] 9.2. Example 2: Reply with Inline Comment Carol emails Dave and Eve. Dave replies, quoting Carol's message. Eve replies, inserting an inline comment between Carol's message text. Eve's message has the following structure: Eve's first comment +-- Dave's text (Eve's quote of Dave) +-- First portion of Carol's text (Dave's nested quote of Carol) Eve's inline comment +---+-- Carol's remaining text (continuation of Carol's message) 9.2.1. HTML Part =============== NOTE: '\' line wrapping per RFC 8792 ================
On Mon, Oct 6, 2025 at 2:15 PM, Dave Nguyen <dave@example.com> wrote:

From: Carol Davies <carol@example.com> Tao, et al. Expires 5 May 2027 [Page 20] Internet-Draft Structured Quoted Content November 2026
Sent: Monday, October 6, 2025 9:00 AM
To: Dave Nguyen <dave@example.com>; Eve Larsson <eve@example.com>
Subject: Lorem ipsum
9.2.2. JSON-LD Part [ { "@context": [ "https://schema.org/", { "dateSent": "https://sml.draft.iana.org/dateSent", "DateTime": "https://sml.draft.iana.org/DateTime", "iso8601Extended": "https://sml.draft.iana.org/iso8601Extended" Tao, et al. Expires 5 May 2027 [Page 21] Internet-Draft Structured Quoted Content November 2026 } ], "@type": "EmailMessage", "@id": "mid:msg-ex2-001@example.com", "sender": { "@type": "Person", "@id": "mailto:carol@example.com", "name": "Carol Davies", "email": "carol@example.com" }, "toRecipient": [ { "@type": "Person", "@id": "mailto:dave@example.com", "name": "Dave Nguyen", "email": "dave@example.com" }, { "@type": "Person", "@id": "mailto:eve@example.com", "name": "Eve Larsson", "email": "eve@example.com" } ], "about": { "@type": "Thing", "@id": "mid:msg-ex2-001@example.com#subject", "name": "Lorem ipsum" }, "dateSent": { "@type": "DateTime", "@id": "mid:msg-ex2-001@example.com#dateSent", "iso8601Extended": "2025-10-06T09:00:00-07:00" } }, { "@context": [ "https://schema.org/", { "dateSent": "https://sml.draft.iana.org/dateSent", "DateTime": "https://sml.draft.iana.org/DateTime", "iso8601Extended": "https://sml.draft.iana.org/iso8601Extended" } ], "@type": "EmailMessage", "@id": "mid:msg-ex2-002@example.com", "sender": { Tao, et al. Expires 5 May 2027 [Page 22] Internet-Draft Structured Quoted Content November 2026 "@id": "mailto:dave@example.com" }, "toRecipient": [ { "@id": "mailto:carol@example.com" }, { "@id": "mailto:eve@example.com" } ], "about": { "@type": "Thing", "@id": "mid:msg-ex2-002@example.com#subject", "name": "Re: Lorem ipsum" }, "dateSent": { "@type": "DateTime", "@id": "mid:msg-ex2-002@example.com#dateSent", "iso8601Extended": "2025-10-06T14:15:00-07:00" } }, { "@context": "https://sml.draft.iana.org", "@type": "QuotedContent", "@id": "quoted-content:B2000001-0000-0000-0000-000000000001", "message": {"@id": "mid:msg-ex2-002@example.com"}, "attribution": { "@id": "quote-attribution:B2000005-0000-0000-0000-000000000001" }, "content": {"@list": [ {"@id": "text-content:B2000004-0000-0000-0000-000000000001"}, {"@id": "quoted-content:B2000001-0000-0000-0000-000000000003"} ]} }, { "@context": "https://sml.draft.iana.org", "@type": "QuotedContent", "@id": "quoted-content:B2000001-0000-0000-0000-000000000002", "message": {"@id": "mid:msg-ex2-001@example.com"}, "content": {"@list": [ {"@id": "text-content:B2000004-0000-0000-0000-000000000002"} ]} }, { "@context": "https://sml.draft.iana.org", "@type": "QuotedContent", "@id": "quoted-content:B2000001-0000-0000-0000-000000000003", "message": {"@id": "mid:msg-ex2-001@example.com"}, Tao, et al. Expires 5 May 2027 [Page 23] Internet-Draft Structured Quoted Content November 2026 "headerBlock": { "@id": "quoted-header-block:B2000002-0000-0000-0000-000000000001" }, "content": {"@list": [ {"@id": "text-content:B2000004-0000-0000-0000-000000000003"} ]} }, { "@context": "https://sml.draft.iana.org", "@type": "QuoteAttribution", "@id": "quote-attribution:B2000005-0000-0000-0000-000000000001", "date": {"@id": "mid:msg-ex2-002@example.com#dateSent"}, "from": {"@id": "mailto:dave@example.com"} }, { "@context": "https://sml.draft.iana.org", "@type": "QuotedHeaderBlock", "@id": "quoted-header-block:B2000002-0000-0000-0000-000000000001", "header": {"@list": [ { "@context": "https://sml.draft.iana.org", "@type": "QuotedHeader", "@id": "quoted-header:B2000003-0000-0000-0000-000000000001", "property": {"@id": "https://schema.org/sender"}, "value": {"@id": "mailto:carol@example.com"} }, { "@context": "https://sml.draft.iana.org", "@type": "QuotedHeader", "@id": "quoted-header:B2000003-0000-0000-0000-000000000002", "property": {"@id": "https://sml.draft.iana.org/dateSent"}, "value": {"@id": "mid:msg-ex2-001@example.com#dateSent"} }, { "@context": "https://sml.draft.iana.org", "@type": "QuotedHeader", "@id": "quoted-header:B2000003-0000-0000-0000-000000000003", "property": {"@id": "https://schema.org/toRecipient"}, "value": [ {"@id": "mailto:dave@example.com"}, {"@id": "mailto:eve@example.com"} ] }, { "@context": "https://sml.draft.iana.org", "@type": "QuotedHeader", Tao, et al. Expires 5 May 2027 [Page 24] Internet-Draft Structured Quoted Content November 2026 "@id": "quoted-header:B2000003-0000-0000-0000-000000000004", "property": {"@id": "https://schema.org/about"}, "value": {"@id": "mid:msg-ex2-001@example.com#subject"} } ]} }, { "@context": "https://sml.draft.iana.org", "@type": "TextContent", "@id": "text-content:B2000004-0000-0000-0000-000000000001" }, { "@context": "https://sml.draft.iana.org", "@type": "TextContent", "@id": "text-content:B2000004-0000-0000-0000-000000000002" }, { "@context": "https://sml.draft.iana.org", "@type": "TextContent", "@id": "text-content:B2000004-0000-0000-0000-000000000003" } ] 9.3. Example 3: Quote Chain including Non-Adopter Frank emails Grace, Heidi, and Ivan. Grace replies to Frank; Grace's MUA does not support Structured Quoted Content. Heidi replies to Grace. Ivan replies to Heidi. Ivan's message has the following structure: Ivan's text +-- Heidi's text (Ivan's quote of Heidi) +-- Grace's text (Heidi's nested quote of Grace, including Grace's unstructured quote of Frank) 9.3.1. HTML Part =============== NOTE: '\' line wrapping per RFC 8792 ================
On Tue, Oct 7, 2025 at 11:30 AM, Heidi Mueller <heidi@example.com> wrote: Tao, et al. Expires 5 May 2027 [Page 25] Internet-Draft Structured Quoted Content November 2026
From: Grace Kim <grace@example.com> Sent: Tuesday, October 7, 2025 10:15 To: Frank Osei <frank@example.com>; Heidi Mueller <heidi@example.com>; Ivan Santos <ivan@example.com> Subject: Re: Lorem ipsum
9.3.2. JSON-LD Part Tao, et al. Expires 5 May 2027 [Page 26] Internet-Draft Structured Quoted Content November 2026 [ { "@context": [ "https://schema.org/", { "dateSent": "https://sml.draft.iana.org/dateSent", "DateTime": "https://sml.draft.iana.org/DateTime", "iso8601Extended": "https://sml.draft.iana.org/iso8601Extended" } ], "@type": "EmailMessage", "@id": "mid:msg-ex3-001@example.com", "sender": { "@type": "Person", "@id": "mailto:grace@example.com", "name": "Grace Kim", "email": "grace@example.com" }, "toRecipient": [{ "@type": "Person", "@id": "mailto:heidi@example.com", "name": "Heidi Mueller", "email": "heidi@example.com" }], "about": { "@type": "Thing", "@id": "mid:msg-ex3-001@example.com#subject", "name": "Re: Lorem ipsum" }, "dateSent": { "@type": "DateTime", "@id": "mid:msg-ex3-001@example.com#dateSent", "iso8601Extended": "2025-10-07T10:15:00-07:00" } }, { "@context": [ "https://schema.org/", { "dateSent": "https://sml.draft.iana.org/dateSent", "DateTime": "https://sml.draft.iana.org/DateTime", "iso8601Extended": "https://sml.draft.iana.org/iso8601Extended" } ], "@type": "EmailMessage", "@id": "mid:msg-ex3-002@example.com", Tao, et al. Expires 5 May 2027 [Page 27] Internet-Draft Structured Quoted Content November 2026 "sender": { "@id": "mailto:heidi@example.com" }, "toRecipient": [{ "@type": "Person", "@id": "mailto:ivan@example.com", "name": "Ivan Santos", "email": "ivan@example.com" }], "about": { "@type": "Thing", "@id": "mid:msg-ex3-002@example.com#subject", "name": "Re: Lorem ipsum" }, "dateSent": { "@type": "DateTime", "@id": "mid:msg-ex3-002@example.com#dateSent", "iso8601Extended": "2025-10-07T11:30:00-07:00" } }, { "@context": "https://sml.draft.iana.org", "@type": "QuotedContent", "@id": "quoted-content:C3000001-0000-0000-0000-000000000001", "message": {"@id": "mid:msg-ex3-002@example.com"}, "attribution": { "@id": "quote-attribution:C3000005-0000-0000-0000-000000000001" }, "content": {"@list": [ {"@id": "text-content:C3000004-0000-0000-0000-000000000001"}, {"@id": "quoted-content:C3000001-0000-0000-0000-000000000002"} ]} }, { "@context": "https://sml.draft.iana.org", "@type": "QuotedContent", "@id": "quoted-content:C3000001-0000-0000-0000-000000000002", "message": {"@id": "mid:msg-ex3-001@example.com"}, "headerBlock": { "@id": "quoted-header-block:C3000002-0000-0000-0000-000000000001" }, "content": {"@list": [ {"@id": "text-content:C3000004-0000-0000-0000-000000000002"} ]} }, { "@context": "https://sml.draft.iana.org", Tao, et al. Expires 5 May 2027 [Page 28] Internet-Draft Structured Quoted Content November 2026 "@type": "QuoteAttribution", "@id": "quote-attribution:C3000005-0000-0000-0000-000000000001", "date": {"@id": "mid:msg-ex3-002@example.com#dateSent"}, "from": {"@id": "mailto:heidi@example.com"} }, { "@context": "https://sml.draft.iana.org", "@type": "QuotedHeaderBlock", "@id": "quoted-header-block:C3000002-0000-0000-0000-000000000001", "header": {"@list": [ { "@context": "https://sml.draft.iana.org", "@type": "QuotedHeader", "@id": "quoted-header:C3000003-0000-0000-0000-000000000001", "property": {"@id": "https://schema.org/sender"}, "value": {"@id": "mailto:grace@example.com"} }, { "@context": "https://sml.draft.iana.org", "@type": "QuotedHeader", "@id": "quoted-header:C3000003-0000-0000-0000-000000000002", "property": {"@id": "https://sml.draft.iana.org/dateSent"}, "value": {"@id": "mid:msg-ex3-001@example.com#dateSent"} }, { "@context": "https://sml.draft.iana.org", "@type": "QuotedHeader", "@id": "quoted-header:C3000003-0000-0000-0000-000000000003", "property": {"@id": "https://schema.org/toRecipient"}, "value": [ {"@id": "mailto:frank@example.com"}, {"@id": "mailto:heidi@example.com"}, {"@id": "mailto:ivan@example.com"} ] }, { "@context": "https://sml.draft.iana.org", "@type": "QuotedHeader", "@id": "quoted-header:C3000003-0000-0000-0000-000000000004", "property": {"@id": "https://schema.org/about"}, "value": {"@id": "mid:msg-ex3-001@example.com#subject"} } ]} }, { "@context": "https://sml.draft.iana.org", "@type": "TextContent", Tao, et al. Expires 5 May 2027 [Page 29] Internet-Draft Structured Quoted Content November 2026 "@id": "text-content:C3000004-0000-0000-0000-000000000001" }, { "@context": "https://sml.draft.iana.org", "@type": "TextContent", "@id": "text-content:C3000004-0000-0000-0000-000000000002" } ] 10. Security Considerations TODO Security 11. IANA Considerations This document has no IANA actions. 12. Normative References [I-D.ietf-sml-structured-email] Happel, H., "Structured Email", Work in Progress, Internet-Draft, draft-ietf-sml-structured-email-06, 1 June 2026, . [JSON-LD] Kellogg, G., Champin, P.-A., and D. Longley, "JSON-LD 1.1", W3C REC-json-ld11-20200716, 16 July 2020, . [RFC2047] Moore, K., "MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header Extensions for Non-ASCII Text", RFC 2047, DOI 10.17487/RFC2047, November 1996, . [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC2392] Levinson, E., "Content-ID and Message-ID Uniform Resource Locators", RFC 2392, DOI 10.17487/RFC2392, August 1998, . [RFC3339] Klyne, G. and C. Newman, "Date and Time on the Internet: Timestamps", RFC 3339, DOI 10.17487/RFC3339, July 2002, . Tao, et al. Expires 5 May 2027 [Page 30] Internet-Draft Structured Quoted Content November 2026 [RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322, DOI 10.17487/RFC5322, October 2008, . [RFC6068] Duerst, M., Masinter, L., and J. Zawinski, "The 'mailto' URI Scheme", RFC 6068, DOI 10.17487/RFC6068, October 2010, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [RFC9562] Davis, K., Peabody, B., and P. Leach, "Universally Unique IDentifiers (UUIDs)", RFC 9562, DOI 10.17487/RFC9562, May 2024, . [SchemaOrg] W3C Schema.org Community Group, "Schema.org", n.d., . Acknowledgments TODO acknowledge. Authors' Addresses Phillip Tao Apple Inc. Email: ptao@apple.com Arnt Gulbrandsen ICANN Email: arnt@gulbrandsen.priv.no Ben Bucksch Beonex Email: ben.bucksch@beonex.com Tao, et al. Expires 5 May 2027 [Page 31]