| Internet-Draft | Structured Quoted Content | July 2026 |
| Tao, et al. | Expires 7 January 2027 | [Page] |
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.¶
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.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
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 7 January 2027.¶
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.¶
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.¶
Whether attachments are included in the quoted content.¶
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.¶
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.¶
All quoted content will be transmitted as "Partial representation" as defined by https://datatracker.ietf.org/doc/html/draft-ietf-sml-structured-email-05#name-partial-representation.¶
Structured Quoted Content uses the SchemaOrg vocabulary, as well as a custom vocabulary to be defined at INSERT LINK.¶
Structured Quoted Content uses the following object types.¶
EmailMessage¶
* vocabulary: schema.org and sml.draft.iana.org
* id format: "mid:<message-id header>"
* The following properties can be set: sender, toRecipient, dateSent, dateReceived, about (subject)
* Each property should have its own id
¶
QuotedContent¶
* vocabulary: sml.draft.iana.org
* id format: "quoted-content:<UUID>"
* Properties:
* message
* References EmailMessage which this item is quoting
* preamble
* References ForwardPreamble
* optional; present on forwarded messages
* headerBlock
* References QuotedHeaderBlock
* optional
* attribution
* References QuoteAttribution
* optional
* content
* References one or more TextContent or QuotedContent
¶
QuotedHeaderBlock¶
* vocabulary: sml.draft.iana.org
* id format: "quoted-header-block:<UUID>"
* Properties:
* header
* References one or more QuotedHeader
¶
QuotedHeader¶
* vocabulary: sml.draft.iana.org
* id format: "quoted-header:<UUID>"
* Properties:
* label
* Text label for the header
* value
* References one of the properties of an EmailMessage
¶
QuoteAttribution¶
* vocabulary: sml.draft.iana.org
* id format: "quote-attribution:<UUID>"
* Properties:
* date
* References either the dateSent or dateReceived property of an EmailMessage
* from
* References the sender property of an Emailmessage
¶
TextContent¶
* vocabulary: sml.draft.iana.org * id format: "text-content:<UUID>" * Properties:¶
Note, TextContent has no properties.¶
ForwardPreamble¶
* vocabulary: sml.draft.iana.org * id format: "forward-preamble:<UUID>" * Properties:¶
Note, ForwardPreamble has no properties.¶
Each quoted block will be wrapped in an HTML element (typically div or span) with a data-source-id and a data-id property. The data-source-id is a cid: URI referencing the MIME part which contains the structured data definitions. The data-id is the id of the matching element.¶
In a long reply chain, not all MUAs involved may be SML-aware. This results in two types of mixed content: 1. A MUA which is compliant with Structured Quoted Content quoting a message which does not have Structured Quoted Content. 1. A MUA which is not aware of Structured Quoted Content quoting a message which has Structured Quoted Content.¶
In the first case, the MUA SHOULD NOT try to retroactively determine the quoted content structure of the email it is quoting. In other words, it SHOULD NOT attempt to parse the HTML formatting of that message in order to build a structured representation. Instead, any structured quoted content that it generates should treat the quoted message as one having no quoted content itself.¶
The MUA in the second situation is by definition not bound to any behavior specified in this draft. It may likely do one or both of the following:
1. Modify the HTML in such a way that the existing structured content properties no longer behave as expected.
2. Modify the MIME structure in such a way that the structured quoted content is no longer valid. For example it may:
* Change the MIME structure in such a way that the message is no longer classified as a "partial representation".
* Remove or modify the application/ld+json part.¶
In general, it can be assumed that for a message which contains Structured Quoted Content, the Structured Quoted Content represents the most recent contiguous set of messages. This set of messages may be a subset of all the messages which actually comprise the quoted reply chain. Such a case occurs when the oldest message represented in the Structured Quoted Content has quoted a message sent by a MUA which was not aware of Structured Quoted Content.¶
When rendering such a message, only the first contiguous set of Structured Quoted Content should be treated as Structured Quoted Content. Any HTML or JSON-LD is found which hints at the presence of Structured Quoted Content further back in the reply chain, but which has not made it to the receiving MUA intact, should be ignored and that portion of HTML should be rendered as not containing Structured Quoted Content.¶
TODO: List potential usages/purposes/benefits¶
Some 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-id attributes in the HTML part, and HTML elements use data-id to identify their corresponding JSON-LD object.¶
The label text of each QuotedHeader is the display string rendered by the sending MUA and may be in any language.¶
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: <sml-example@example.com>
¶
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)
¶
<!-- Carol's note -->
<div data-source-id="cid:sml-ex1@example.com"
data-id="quoted-content:A1000001-0000-0000-0000-000000000001">
<div data-source-id="cid:sml-ex1@example.com"
data-id="forward-preamble:A1000006-0000-0000-0000-000000000001">
---------- Forwarded message ---------
</div>
<div data-source-id="cid:sml-ex1@example.com"
data-id="quoted-header-block:A1000002-0000-0000-0000-000000000001">
<b>From:</b> Bob Kumar <bob@example.com><br>
<b>Date:</b> Mon, Sep 15, 2025 at 2:23 PM<br>
<b>Subject:</b> Re: Lorem ipsum<br>
<b>To:</b> Alice Chen <alice@example.com><br>
</div>
<blockquote>
<div data-source-id="cid:sml-ex1@example.com"
data-id="text-content:A1000004-0000-0000-0000-000000000001">
<!-- Bob's reply text -->
</div>
<div data-source-id="cid:sml-ex1@example.com"
data-id="quoted-content:A1000001-0000-0000-0000-000000000002">
<blockquote type="cite">
<div data-source-id="cid:sml-ex1@example.com"
data-id="quote-attribution:A1000005-0000-0000-0000-000000000001">
On Sep 15, 2025, at 9:47 AM, Alice Chen <alice@example.com> wrote:
</div>
<div data-source-id="cid:sml-ex1@example.com"
data-id="text-content:A1000004-0000-0000-0000-000000000002">
<!-- Alice's original text -->
</div>
</blockquote>
</div>
</blockquote>
</div>
¶
[
{
"@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-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": {
"@type": "Person",
"@id": "mailto:bob@example.com",
"name": "Bob Kumar",
"email": "bob@example.com"
},
"toRecipient": [{
"@type": "Person",
"@id": "mailto:alice@example.com",
"name": "Alice Chen",
"email": "alice@example.com"
}],
"ccRecipient": [{
"@type": "Person",
"@id": "mailto:carol@example.com",
"name": "Carol White",
"email": "carol@example.com"
}],
"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": "mid:msg-ex1-002@example.com",
"preamble": "forward-preamble:A1000006-0000-0000-0000-000000000001",
"headerBlock": "quoted-header-block:A1000002-0000-0000-0000-000000000001",
"content": [
"text-content:A1000004-0000-0000-0000-000000000001",
"quoted-content:A1000001-0000-0000-0000-000000000002"
]
},
{
"@context": "https://sml.draft.iana.org",
"@type": "QuotedContent",
"@id": "quoted-content:A1000001-0000-0000-0000-000000000002",
"message": "mid:msg-ex1-001@example.com",
"attribution": "quote-attribution:A1000005-0000-0000-0000-000000000001",
"content": "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": [
{
"@context": "https://sml.draft.iana.org",
"@type": "QuotedHeader",
"@id": "quoted-header:A1000003-0000-0000-0000-000000000001",
"label": "From:",
"value": "mailto:bob@example.com"
},
{
"@context": "https://sml.draft.iana.org",
"@type": "QuotedHeader",
"@id": "quoted-header:A1000003-0000-0000-0000-000000000002",
"label": "Date:",
"value": "mid:msg-ex1-002@example.com/dateSent"
},
{
"@context": "https://sml.draft.iana.org",
"@type": "QuotedHeader",
"@id": "quoted-header:A1000003-0000-0000-0000-000000000003",
"label": "Subject:",
"value": "mid:msg-ex1-002@example.com/subject"
},
{
"@context": "https://sml.draft.iana.org",
"@type": "QuotedHeader",
"@id": "quoted-header:A1000003-0000-0000-0000-000000000004",
"label": "To:",
"value": "mailto:alice@example.com"
}
]
},
{
"@context": "https://sml.draft.iana.org",
"@type": "QuoteAttribution",
"@id": "quote-attribution:A1000005-0000-0000-0000-000000000001",
"date": "mid:msg-ex1-001@example.com/dateSent",
"from": "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",
"@id": "forward-preamble:A1000006-0000-0000-0000-000000000001"
}
]
¶
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)
¶
<!-- Eve's first comment -->
<div data-source-id="cid:sml-ex2@example.com"
data-id="quoted-content:B2000001-0000-0000-0000-000000000001">
<div data-source-id="cid:sml-ex2@example.com"
data-id="quote-attribution:B2000005-0000-0000-0000-000000000001">
On Mon, Oct 6, 2025 at 2:15 PM, Dave Nguyen
<dave@example.com> wrote:
</div>
<blockquote>
<div data-source-id="cid:sml-ex2@example.com"
data-id="text-content:B2000004-0000-0000-0000-000000000001">
<!-- Dave's response text -->
</div>
<div data-source-id="cid:sml-ex2@example.com"
data-id="quoted-content:B2000001-0000-0000-0000-000000000003">
<hr>
<div data-source-id="cid:sml-ex2@example.com"
data-id="quoted-header-block:B2000002-0000-0000-0000-000000000001">
<b>From:</b> Carol Davies <carol@example.com><br>
<b>Sent:</b> Monday, October 6, 2025 9:00 AM<br>
<b>To:</b> Dave Nguyen <dave@example.com>; Eve Larsson <eve@example.com><br>
<b>Subject:</b> Lorem ipsum<br>
</div>
<div data-source-id="cid:sml-ex2@example.com"
data-id="text-content:B2000004-0000-0000-0000-000000000003">
<!-- First portion of Carol's text -->
</div>
</div>
</blockquote>
</div>
<!-- Eve's inline comment -->
<div data-source-id="cid:sml-ex2@example.com"
data-id="quoted-content:B2000001-0000-0000-0000-000000000002">
<blockquote>
<div data-source-id="cid:sml-ex2@example.com"
data-id="text-content:B2000004-0000-0000-0000-000000000002">
<!-- Carol's remaining text -->
</div>
</blockquote>
</div>
¶
[
{
"@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-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": {
"@type": "Person",
"@id": "mailto:dave@example.com",
"name": "Dave Nguyen",
"email": "dave@example.com"
},
"toRecipient": [
{
"@type": "Person",
"@id": "mailto:carol@example.com",
"name": "Carol Davies",
"email": "carol@example.com"
},
{
"@type": "Person",
"@id": "mailto:eve@example.com",
"name": "Eve Larsson",
"email": "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": "mid:msg-ex2-002@example.com",
"attribution": "quote-attribution:B2000005-0000-0000-0000-000000000001",
"content": [
"text-content:B2000004-0000-0000-0000-000000000001",
"quoted-content:B2000001-0000-0000-0000-000000000003"
]
},
{
"@context": "https://sml.draft.iana.org",
"@type": "QuotedContent",
"@id": "quoted-content:B2000001-0000-0000-0000-000000000002",
"message": "mid:msg-ex2-001@example.com",
"content": "text-content:B2000004-0000-0000-0000-000000000002"
},
{
"@context": "https://sml.draft.iana.org",
"@type": "QuotedContent",
"@id": "quoted-content:B2000001-0000-0000-0000-000000000003",
"message": "mid:msg-ex2-001@example.com",
"headerBlock": "quoted-header-block:B2000002-0000-0000-0000-000000000001",
"content": "text-content:B2000004-0000-0000-0000-000000000003"
},
{
"@context": "https://sml.draft.iana.org",
"@type": "QuoteAttribution",
"@id": "quote-attribution:B2000005-0000-0000-0000-000000000001",
"date": "mid:msg-ex2-002@example.com/dateSent",
"from": "mailto:dave@example.com"
},
{
"@context": "https://sml.draft.iana.org",
"@type": "QuotedHeaderBlock",
"@id": "quoted-header-block:B2000002-0000-0000-0000-000000000001",
"header": [
{
"@context": "https://sml.draft.iana.org",
"@type": "QuotedHeader",
"@id": "quoted-header:B2000003-0000-0000-0000-000000000001",
"label": "From:",
"value": "mailto:carol@example.com"
},
{
"@context": "https://sml.draft.iana.org",
"@type": "QuotedHeader",
"@id": "quoted-header:B2000003-0000-0000-0000-000000000002",
"label": "Sent:",
"value": "mid:msg-ex2-001@example.com/dateSent"
},
{
"@context": "https://sml.draft.iana.org",
"@type": "QuotedHeader",
"@id": "quoted-header:B2000003-0000-0000-0000-000000000003",
"label": "To:",
"value": ["mailto:dave@example.com", "mailto:eve@example.com"]
},
{
"@context": "https://sml.draft.iana.org",
"@type": "QuotedHeader",
"@id": "quoted-header:B2000003-0000-0000-0000-000000000004",
"label": "Subject:",
"value": "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"
}
]
¶
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)
¶
<!-- Ivan's text -->
<div data-source-id="cid:sml-ex3@example.com"
data-id="quoted-content:C3000001-0000-0000-0000-000000000001">
<div data-source-id="cid:sml-ex3@example.com"
data-id="quote-attribution:C3000005-0000-0000-0000-000000000001">
On Tue, Oct 7, 2025 at 11:30 AM, Heidi Müller
<heidi@example.com> wrote:
</div>
<blockquote>
<div data-source-id="cid:sml-ex3@example.com"
data-id="text-content:C3000004-0000-0000-0000-000000000001">
<!-- Heidi's text -->
</div>
<div data-source-id="cid:sml-ex3@example.com"
data-id="quoted-content:C3000001-0000-0000-0000-000000000002">
<div data-source-id="cid:sml-ex3@example.com"
data-id="quoted-header-block:C3000002-0000-0000-0000-000000000001">
<span data-source-id="cid:sml-ex3@example.com"
data-id="quoted-header:C3000003-0000-0000-0000-000000000001">
<b>From:</b> Grace Kim <grace@example.com>
</span>
<span data-source-id="cid:sml-ex3@example.com"
data-id="quoted-header:C3000003-0000-0000-0000-000000000002">
<b>Sent:</b> Tuesday, October 7, 2025 10:15
</span>
<span data-source-id="cid:sml-ex3@example.com"
data-id="quoted-header:C3000003-0000-0000-0000-000000000003">
<b>To:</b> Frank Osei <frank@example.com>; Heidi Müller <heidi@example.com>; Ivan Santos <ivan@example.com>
</span>
<span data-source-id="cid:sml-ex3@example.com"
data-id="quoted-header:C3000003-0000-0000-0000-000000000004">
<b>Subject:</b> Re: Lorem ipsum
</span>
</div>
<div data-source-id="cid:sml-ex3@example.com"
data-id="text-content:C3000004-0000-0000-0000-000000000002">
<!-- Grace's text, including unstructured quote of Frank -->
</div>
</div>
</blockquote>
</div>
¶
[
{
"@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 Müller",
"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",
"sender": {
"@type": "Person",
"@id": "mailto:heidi@example.com",
"name": "Heidi Müller",
"email": "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": "mid:msg-ex3-002@example.com",
"attribution": "quote-attribution:C3000005-0000-0000-0000-000000000001",
"content": [
"text-content:C3000004-0000-0000-0000-000000000001",
"quoted-content:C3000001-0000-0000-0000-000000000002"
]
},
{
"@context": "https://sml.draft.iana.org",
"@type": "QuotedContent",
"@id": "quoted-content:C3000001-0000-0000-0000-000000000002",
"message": "mid:msg-ex3-001@example.com",
"headerBlock": "quoted-header-block:C3000002-0000-0000-0000-000000000001",
"content": "text-content:C3000004-0000-0000-0000-000000000002"
},
{
"@context": "https://sml.draft.iana.org",
"@type": "QuoteAttribution",
"@id": "quote-attribution:C3000005-0000-0000-0000-000000000001",
"date": "mid:msg-ex3-002@example.com/dateSent",
"from": "mailto:heidi@example.com"
},
{
"@context": "https://sml.draft.iana.org",
"@type": "QuotedHeaderBlock",
"@id": "quoted-header-block:C3000002-0000-0000-0000-000000000001",
"header": [
{
"@context": "https://sml.draft.iana.org",
"@type": "QuotedHeader",
"@id": "quoted-header:C3000003-0000-0000-0000-000000000001",
"label": "From:",
"value": "mailto:grace@example.com"
},
{
"@context": "https://sml.draft.iana.org",
"@type": "QuotedHeader",
"@id": "quoted-header:C3000003-0000-0000-0000-000000000002",
"label": "Sent:",
"value": "mid:msg-ex3-001@example.com/dateSent"
},
{
"@context": "https://sml.draft.iana.org",
"@type": "QuotedHeader",
"@id": "quoted-header:C3000003-0000-0000-0000-000000000003",
"label": "To:",
"value": ["mailto:frank@example.com", "mailto:heidi@example.com", "mailto:ivan@example.com"]
},
{
"@context": "https://sml.draft.iana.org",
"@type": "QuotedHeader",
"@id": "quoted-header:C3000003-0000-0000-0000-000000000004",
"label": "Subject:",
"value": "mid:msg-ex3-001@example.com/subject"
}
]
},
{
"@context": "https://sml.draft.iana.org",
"@type": "TextContent",
"@id": "text-content:C3000004-0000-0000-0000-000000000001"
},
{
"@context": "https://sml.draft.iana.org",
"@type": "TextContent",
"@id": "text-content:C3000004-0000-0000-0000-000000000002"
}
]
¶
TODO Security¶
This document has no IANA actions.¶
TODO acknowledge.¶