RFCs
The following RFCs are implemented by Stalwart Mail Server.
JMAP and extensions
- RFC 8620 - The JSON Meta Application Protocol (JMAP)
- RFC 8621 - The JSON Meta Application Protocol (JMAP) for Mail
- RFC 8887 - A JSON Meta Application Protocol (JMAP) Subprotocol for WebSocket
IMAP4 and extensions
- RFC 9051 - Internet Message Access Protocol (IMAP) - Version 4rev2
- RFC 3501 - Internet Message Access Protocol (IMAP) - Version 4rev1
- RFC 2180 - Multi-Accessed Mailbox Practice
- RFC 2683 - Implementation Recommendations
- RFC 8314 - Use of Transport Layer Security (TLS) for Email Submission and Access
- RFC 2177 - IDLE command
- RFC 2342 - Namespace
- RFC 2971 - ID extension
- RFC 3348 - Child Mailbox Extension
- RFC 3502 - MULTIAPPEND Extension
- RFC 3516 - Binary Content Extension
- RFC 3691 - UNSELECT command
- RFC 4314 - Access Control List (ACL) Extension
- RFC 4315 - UIDPLUS extension
- RFC 4466 - Collected Extensions to IMAP4 ABNF
- RFC 4731 - SEARCH Command for Controlling What Kind of Information Is Returned
- RFC 4959 - Simple Authentication and Security Layer (SASL) Initial Client Response
- RFC 5032 - WITHIN Search Extension to the IMAP Protocol
- RFC 5161 - ENABLE Extension
- RFC 5182 - Extension for Referencing the Last SEARCH Result
- RFC 5256 - SORT and THREAD Extensions
- RFC 5258 - LIST Command Extensions
- RFC 5267 - Contexts for IMAP4 (ESORT and CONTEXT)
- RFC 5530 - Response Codes
- RFC 5819 - STATUS Information in Extended LIST
- RFC 5957 - Display-Based Address Sorting for the IMAP4 SORT Extension
- RFC 6154 - LIST Extension for Special-Use Mailboxes
- RFC 6851 - MOVE Extension
- RFC 6855 - Support for UTF-8
- RFC 7162 - Quick Flag Changes Resynchronization (CONDSTORE) and Quick Mailbox Resynchronization (QRESYNC)
- RFC 7628 - SASL Mechanisms for OAuth
- RFC 7888 - Non-synchronizing Literals
- RFC 8437 - UNAUTHENTICATE Extension for Connection Reuse
- RFC 8438 - Extension for STATUS=SIZE
- RFC 8457 - "$Important" Keyword and "\Important" Special-Use Attribute
- RFC 8474 - Extension for Object Identifiers
- RFC 8970 - Message Preview Generation
SMTP and Extensions
- RFC 5321 - Simple Mail Transfer Protocol
- RFC 5321bis - Simple Mail Transfer Protocol (draft 18)
- RFC 2033 - Local Mail Transfer Protocol
- RFC 6152 - SMTP Service Extension for 8-bit MIME Transport
- RFC 1870 - SMTP Service Extension for Message Size Declaration
- RFC 3030 - SMTP Service Extensions for Transmission of Large and Binary MIME Messages
- RFC 2852 - Deliver By SMTP Service Extension
- RFC 2920 - SMTP Service Extension for Command Pipelining
- RFC 3461 - Simple Mail Transfer Protocol (SMTP) Service Extension for Delivery Status Notifications (DSNs)
- RFC 2034 - SMTP Service Extension for Returning Enhanced Error Codes
- RFC 3207 - SMTP Service Extension for Secure SMTP over Transport Layer Security
- RFC 3865 - A No Soliciting Simple Mail Transfer Protocol (SMTP) Service Extension
- RFC 4954 - SMTP Service Extension for Authentication
- RFC 4865 - SMTP Submission Service Extension for Future Message Release
- RFC 6531 - SMTP Extension for Internationalized Email
- RFC 6710 - Simple Mail Transfer Protocol Extension for Message Transfer Priorities
- RFC 8689 - SMTP Require TLS Option
- RFC 2831 - Using Digest Authentication as a SASL Mechanism
POP3 and Extensions
- RFC 1939 - Post Office Protocol - Version 3
- RFC 2449 - POP3 Extension Mechanism
- RFC 5034 - POP3 SASL Authentication Mechanism
- RFC 6856 - Post Office Protocol Version 3 (POP3) Support for UTF-8
- RFC 2595 - Using TLS with IMAP, POP3 and ACAP
Message Encryption
- RFC 8551 - Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 4.0 Message Specification
- RFC 4880 - OpenPGP Message Format
- RFC 3156 - MIME Security with OpenPGP
Message Authentication
DKIM
- RFC 6376 - DomainKeys Identified Mail (DKIM) Signatures
- RFC 6541 - DomainKeys Identified Mail (DKIM) Authorized Third-Party Signatures
- RFC 6651 - Extensions to DomainKeys Identified Mail (DKIM) for Failure Reporting
- RFC 8032 - Edwards-Curve Digital Signature Algorithm (EdDSA)
- RFC 4686 - Analysis of Threats Motivating DomainKeys Identified Mail (DKIM)
- RFC 5016 - Requirements for a DomainKeys Identified Mail (DKIM) Signing Practices Protocol
- RFC 5585 - DomainKeys Identified Mail (DKIM) Service Overview
- RFC 5672 - DomainKeys Identified Mail (DKIM) Signatures -- Update
- RFC 5863 - DomainKeys Identified Mail (DKIM) Development, Deployment, and Operations
- RFC 6377 - DomainKeys Identified Mail (DKIM) and Mailing Lists
SPF
- RFC 7208 - Sender Policy Framework (SPF)
- RFC 6652 - Sender Policy Framework (SPF) Authentication Failure Reporting Using the Abuse Reporting Format
ARC
DMARC
- RFC 7489 - Domain-based Message Authentication, Reporting, and Conformance (DMARC)
- RFC 8601 - Message Header Field for Indicating Message Authentication Status
- RFC 8616 - Email Authentication for Internationalized Mail
- RFC 7960 - Interoperability Issues between Domain-based Message Authentication, Reporting, and Conformance (DMARC) and Indirect Email Flows
Reporting
- RFC 5965 - An Extensible Format for Email Feedback Reports
- RFC 6430 - Email Feedback Report Type Value: not-spam
- RFC 6590 - Redaction of Potentially Sensitive Data from Mail Abuse Reports
- RFC 6591 - Authentication Failure Reporting Using the Abuse Reporting Format
- RFC 6650 - Creation and Use of Email Feedback Reports: An Applicability Statement for the Abuse Reporting Format (ARF)
Transport Security
DANE
- RFC 6698 - The DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS) Protocol: TLSA
- RFC 7671 - The DNS-Based Authentication of Named Entities (DANE) Protocol: Updates and Operational Guidance
MTA-STS
SMTP TLS Reporting
E-mail
- RFC 822 - Standard for ARPA Internet Text Messages
- RFC 5322 - Internet Message Format
- RFC 2045 - Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies
- RFC 2046 - Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types
- RFC 2047 - MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header Extensions for Non-ASCII Text
- RFC 2048 - Multipurpose Internet Mail Extensions (MIME) Part Four: Registration Procedures
- RFC 2049 - Multipurpose Internet Mail Extensions (MIME) Part Five: Conformance Criteria and Examples
- RFC 2231 - MIME Parameter Value and Encoded Word Extensions: Character Sets, Languages, and Continuations
- RFC 2557 - MIME Encapsulation of Aggregate Documents, such as HTML (MHTML)
- RFC 2183 - Communicating Presentation Information in Internet Messages: The Content-Disposition Header Field
- RFC 2392 - Content-ID and Message-ID Uniform Resource Locators
- RFC 3282 - Content Language Headers
- RFC 6532 - Internationalized Email Headers
- RFC 2152 - UTF-7 - A Mail-Safe Transformation Format of Unicode
- RFC 2369 - The Use of URLs as Meta-Syntax for Core Mail List Commands and their Transport through Message Header Fields
- RFC 2919 - List-Id: A Structured Field and Namespace for the Identification of Mailing Lists
- RFC 3339 - Date and Time on the Internet: Timestamps
WebSocket
- RFC 6455 - The WebSocket Protocol
- RFC 8307 - Well-Known URIs for the WebSocket Protocol
- RFC 8441 - Bootstrapping WebSockets with HTTP/2
HTTP Push
- RFC 5116 - An Interface and Algorithms for Authenticated Encryption (AEAD_AES_128_GCM)
- RFC 8030 - Generic Event Delivery Using HTTP Push
- RFC 8188 - Encrypted Content-Encoding for HTTP
- RFC 8291 - Message Encryption for Web Push
OpenID & OAuth
- RFC 6749 - The OAuth 2.0 Authorization Framework
- RFC 6750 - The OAuth 2.0 Authorization Framework: Bearer Token Usage
- RFC 8414 - OAuth 2.0 Authorization Server Metadata
- RFC 8628 - OAuth 2.0 Device Authorization Grant
- RFC 7591 - OAuth 2.0 Dynamic Client Registration Protocol
- RFC 7662 - OAuth 2.0 Token Introspection
- RFC 7517 - JSON Web Key (JWK)
- OpenID Connect Core 1.0
- OpenID Connect Discovery 1.0
- OpenID Connect Dynamic Client Registration 1.0
Sieve
- RFC 5228 - Sieve: An Email Filtering Language
- RFC 5804 - A Protocol for Remotely Managing Sieve Scripts
- RFC 3894 - Copying Without Side Effects
- RFC 5173 - Body Extension
- RFC 5183 - Environment Extension
- RFC 5229 - Variables Extension
- RFC 5230 - Vacation Extension
- RFC 5231 - Relational Extension
- RFC 5232 - Imap4flags Extension
- RFC 5233 - Subaddress Extension
- RFC 5235 - Spamtest and Virustest Extensions
- RFC 5260 - Date and Index Extensions
- RFC 5293 - Editheader Extension
- RFC 5429 - Reject and Extended Reject Extensions
- RFC 5435 - Extension for Notifications
- RFC 5463 - Ihave Extension
- RFC 5490 - Extensions for Checking Mailbox Status and Accessing Mailbox Metadata
- RFC 5703 - MIME Part Tests, Iteration, Extraction, Replacement, and Enclosure
- RFC 6009 - Delivery Status Notifications and Deliver-By Extensions
- RFC 6131 - Sieve Vacation Extension: "Seconds" Parameter
- RFC 6134 - Externally Stored Lists
- RFC 6558 - Converting Messages before Delivery
- RFC 6609 - Include Extension
- RFC 7352 - Detecting Duplicate Deliveries
- RFC 8579 - Delivering to Special-Use Mailboxes
- RFC 8580 - File Carbon Copy (FCC)
- RFC 9042 - Delivery by MAILBOXID
- REGEX-01 - Regular Expression Extension (draft-ietf-sieve-regex-01)
Planned Extensions
- RFC 2087 - IMAP4 QUOTA extension
- RFC 2192 - IMAP URL Scheme
- RFC 4467 - URLAUTH Extension
- RFC 4469 - IMAP CATENATE Extension
- RFC 4978 - IMAP COMPRESS Extension
- RFC 5255 - IMAP Internationalization
- RFC 5465 - IMAP NOTIFY Extension
- RFC 5524 - Extended URLFETCH for Binary and Converted Parts
- RFC 6785 - Support for IMAP Events in Sieve