SMTP · Schema
SMTP Email Message
Schema representing an email message as defined by RFC 5321 (SMTP) and RFC 5322 (Internet Message Format)
SMTPEmailInternet StandardsIETFMessagingProtocolsRFC 5321
Properties
| Name | Type | Description |
|---|---|---|
| from | string | The sender's email address (RFC 5322 From header / SMTP MAIL FROM) |
| to | object | Recipient address(es) (RFC 5322 To header / SMTP RCPT TO) |
| cc | object | Carbon copy recipient(s) |
| bcc | object | Blind carbon copy recipient(s) - not included in message headers |
| replyTo | string | Reply-To address if different from From |
| subject | string | Email subject line (RFC 5322 Subject header) |
| date | string | Message creation date and time (RFC 5322 Date header) |
| messageId | string | Unique message identifier in format |
| body | object | |
| headers | object | Additional RFC 5322 headers as key-value pairs |
| attachments | array | MIME attachments |
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://smtp.standard/schemas/message",
"title": "SMTP Email Message",
"description": "Schema representing an email message as defined by RFC 5321 (SMTP) and RFC 5322 (Internet Message Format)",
"type": "object",
"required": ["from", "to", "subject"],
"properties": {
"from": {
"type": "string",
"format": "email",
"description": "The sender's email address (RFC 5322 From header / SMTP MAIL FROM)"
},
"to": {
"oneOf": [
{"type": "string", "format": "email"},
{
"type": "array",
"items": {"type": "string", "format": "email"},
"minItems": 1
}
],
"description": "Recipient address(es) (RFC 5322 To header / SMTP RCPT TO)"
},
"cc": {
"oneOf": [
{"type": "string", "format": "email"},
{
"type": "array",
"items": {"type": "string", "format": "email"}
}
],
"description": "Carbon copy recipient(s)"
},
"bcc": {
"oneOf": [
{"type": "string", "format": "email"},
{
"type": "array",
"items": {"type": "string", "format": "email"}
}
],
"description": "Blind carbon copy recipient(s) - not included in message headers"
},
"replyTo": {
"type": "string",
"format": "email",
"description": "Reply-To address if different from From"
},
"subject": {
"type": "string",
"description": "Email subject line (RFC 5322 Subject header)"
},
"date": {
"type": "string",
"format": "date-time",
"description": "Message creation date and time (RFC 5322 Date header)"
},
"messageId": {
"type": "string",
"description": "Unique message identifier in format <local@domain> (RFC 5322 Message-ID)"
},
"body": {
"$ref": "#/definitions/MessageBody"
},
"headers": {
"type": "object",
"description": "Additional RFC 5322 headers as key-value pairs",
"additionalProperties": {"type": "string"}
},
"attachments": {
"type": "array",
"description": "MIME attachments",
"items": {
"$ref": "#/definitions/Attachment"
}
}
},
"definitions": {
"MessageBody": {
"type": "object",
"description": "The message body content",
"properties": {
"text": {
"type": "string",
"description": "Plain text body (text/plain MIME part)"
},
"html": {
"type": "string",
"description": "HTML body (text/html MIME part)"
},
"mimeType": {
"type": "string",
"description": "MIME content type for multipart messages",
"examples": ["multipart/mixed", "multipart/alternative", "text/plain", "text/html"]
}
}
},
"Attachment": {
"type": "object",
"required": ["filename", "contentType"],
"properties": {
"filename": {
"type": "string",
"description": "Attachment filename"
},
"contentType": {
"type": "string",
"description": "MIME content type (e.g., application/pdf, image/png)"
},
"contentId": {
"type": "string",
"description": "Content-ID for inline attachments"
},
"disposition": {
"type": "string",
"enum": ["attachment", "inline"],
"description": "Content disposition type"
},
"size": {
"type": "integer",
"description": "File size in bytes"
}
}
}
}
}