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 (RFC 5322 Message-ID)
body object
headers object Additional RFC 5322 headers as key-value pairs
attachments array MIME attachments
View JSON Schema on GitHub

JSON Schema

smtp-message-schema.json Raw ↑
{
  "$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"
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/smtp-message"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.