SMTP · Schema
SMTP Session
Schema representing an SMTP protocol session as defined in RFC 5321
SMTPEmailInternet StandardsIETFMessagingProtocolsRFC 5321
Properties
| Name | Type | Description |
|---|---|---|
| host | string | SMTP server hostname or IP address |
| port | integer | TCP port number |
| secure | string | TLS/SSL security mode. Port 465 uses TLS, port 587 uses STARTTLS |
| authentication | object | |
| clientHostname | string | The client's FQDN sent in EHLO/HELO command |
| extensions | array | ESMTP extensions supported by the server (from EHLO response) |
| transaction | object |
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://smtp.standard/schemas/session",
"title": "SMTP Session",
"description": "Schema representing an SMTP protocol session as defined in RFC 5321",
"type": "object",
"properties": {
"host": {
"type": "string",
"description": "SMTP server hostname or IP address"
},
"port": {
"type": "integer",
"description": "TCP port number",
"examples": [25, 465, 587],
"default": 25
},
"secure": {
"type": "string",
"enum": ["none", "tls", "starttls"],
"description": "TLS/SSL security mode. Port 465 uses TLS, port 587 uses STARTTLS"
},
"authentication": {
"$ref": "#/definitions/Authentication"
},
"clientHostname": {
"type": "string",
"description": "The client's FQDN sent in EHLO/HELO command"
},
"extensions": {
"type": "array",
"description": "ESMTP extensions supported by the server (from EHLO response)",
"items": {
"type": "string"
},
"examples": [["STARTTLS", "AUTH LOGIN PLAIN", "8BITMIME", "PIPELINING", "SIZE 52428800"]]
},
"transaction": {
"$ref": "#/definitions/Transaction"
}
},
"definitions": {
"Authentication": {
"type": "object",
"properties": {
"mechanism": {
"type": "string",
"enum": ["PLAIN", "LOGIN", "CRAM-MD5", "DIGEST-MD5", "XOAUTH2"],
"description": "SASL authentication mechanism"
},
"username": {
"type": "string",
"description": "Authentication username"
}
}
},
"Transaction": {
"type": "object",
"description": "A single SMTP mail transaction (MAIL FROM through DATA)",
"properties": {
"from": {
"type": "string",
"format": "email",
"description": "Envelope sender (MAIL FROM command)"
},
"recipients": {
"type": "array",
"description": "Envelope recipients (RCPT TO commands)",
"items": {
"type": "string",
"format": "email"
},
"minItems": 1
},
"messageSize": {
"type": "integer",
"description": "Estimated message size in bytes"
}
}
},
"SMTPCommand": {
"type": "object",
"properties": {
"command": {
"type": "string",
"enum": ["EHLO", "HELO", "MAIL", "RCPT", "DATA", "RSET", "VRFY", "EXPN", "NOOP", "QUIT", "STARTTLS", "AUTH"],
"description": "SMTP command verb"
},
"parameters": {
"type": "string",
"description": "Command parameters (e.g., FROM:<user@example.com>)"
}
}
},
"SMTPResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"description": "Three-digit SMTP response code",
"minimum": 100,
"maximum": 599
},
"message": {
"type": "string",
"description": "Human-readable response message"
},
"enhanced": {
"type": "string",
"pattern": "^[245]\\.[0-9]+\\.[0-9]+$",
"description": "Enhanced status code (RFC 3463) e.g., 2.0.0, 5.1.1"
}
}
}
}
}
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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/smtp-session"
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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.