• Mox
  • Features
  • Screenshots
  • Install
  • FAQ
  • Config reference
  • Command reference
  • Command reference
  • Protocols

External links:
  • Sources at github
  • Webapi & webhooks

Protocols

Summary #

First a high-level description of protocols and implementation status. Each topic links to the second table with more detailed implementation status per RFC.

TopicImplementedDescription
Internet Message Format Yes The format of email messages
SMTP Yes Delivering email
SPF Yes Message authentication based on sending IP
DKIM Yes Message authentication based on message header
DMARC Yes Reject/accept policy for incoming messages that pass/fail DKIM and/or SPF message authentication
ARC Roadmap Signed message authentication results from forwarding server
DANE Yes Verification of TLS certificates through DNSSEC-protected DNS records
MTA-STS Yes PKIX-based protection of TLS certificates and MX records
TLS Reporting Yes Reporting about TLS interoperability issues
ARF Roadmap Abuse reporting format
IMAP Yes Email access protocol
Sieve Roadmap Scripts to run on incoming messages
JMAP Roadmap HTTP/JSON-based email access protocol
CalDAV/iCal Roadmap Calendaring
CardDAV/vCard Roadmap Contacts
SASL Yes Authentication mechanisms
Internationalization Yes Internationalization of domain names.
TLS Yes TLS, for encrypted and authenticated communication.
ACME Yes Automatically manage PKIX TLS certificates
CAA Yes CAA DNS reords specify which certificate authorities (CAs) are allowed to sign certificates for a domain.
HTTP Yes HTTP for webservers. Required for automatic account configuration and MTA-STS. Also relevant for the built-in webserver.

RFCs #

The mox source code is quite heavily annotated with references to the RFCs. This makes the implementation more maintainable, and makes it easier for new developers to make changes. See cross-referenced code and RFCs to navigate RFCs and source code side by side.

Implementation status per RFC, grouped by topic.

Statuses

Yes All/most of the functionality of the RFC has been implemented.
Partial Some of the functionality from the RFC has been implemented.
Roadmap Implementing functionality from the RFC is on the roadmap.
No Functionality from the RFC has not been implemented, is not currently on the roadmap, but may be in the future.
? Status undecided, unknown or not applicable.
RFC # Status Title
Internet Message Format #
822 Yes Obsolete: Standard for ARPA Internet Text Messages
1847 No Security Multiparts for MIME: Multipart/Signed and Multipart/Encrypted
2045 Yes Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies
2046 Yes Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types
2047 Yes MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header Extensions for Non-ASCII Text
2183 Yes Communicating Presentation Information in Internet Messages: The Content-Disposition Header Field
2231 Yes MIME Parameter Value and Encoded Word Extensions: Character Sets, Languages, and Continuations
3676 No The Text/Plain Format and DelSp Parameters
5322 Yes Internet Message Format
9228 Yes Delivered-To Email Header Field
SMTP #
821 Yes Obsolete: (RFC 2821) SIMPLE MAIL TRANSFER PROTOCOL
2821 Yes Obsolete: (RFC 5321) Simple Mail Transfer Protocol
5321 Yes Simple Mail Transfer Protocol
1870 Yes SMTP Service Extension for Message Size Declaration
1985 No SMTP Service Extension for Remote Message Queue Starting
2034 Yes SMTP Service Extension for Returning Enhanced Error Codes
2852 No Deliver By SMTP Service Extension
2920 Yes SMTP Service Extension for Command Pipelining
3207 Yes SMTP Service Extension for Secure SMTP over Transport Layer Security (STARTTLS)
3030 Roadmap SMTP Service Extensions for Transmission of Large and Binary MIME Messages
3461 Roadmap Simple Mail Transfer Protocol (SMTP) Service Extension for Delivery Status Notifications (DSNs)
3463 Yes Enhanced Mail System Status Codes
3464 Yes An Extensible Message Format for Delivery Status Notifications
3798 ? Obsolete: (RFC 8098) Message Disposition Notification
3865 No A No Soliciting Simple Mail Transfer Protocol (SMTP) Service Extension
3885 No SMTP Service Extension for Message Tracking
4468 Roadmap Message Submission BURL Extension
4865 Yes SMTP Submission Service Extension for Future Message Release
4954 Yes SMTP Service Extension for Authentication
5782 Yes DNS Blacklists and Whitelists
6008 Yes Authentication-Results Registration for Differentiating among Cryptographic Results
6152 Yes SMTP Service Extension for 8-bit MIME Transport
6409 Yes Message Submission for Mail
6522 Yes The Multipart/Report Media Type for the Reporting of Mail System Administrative Messages
6530 Yes Overview and Framework for Internationalized Email
6531 Yes SMTP Extension for Internationalized Email
6532 Yes Internationalized Email Headers
6533 Yes Internationalized Delivery Status and Disposition Notifications
6647 Partial Email Greylisting: An Applicability Statement for SMTP
6710 No Simple Mail Transfer Protocol Extension for Message Transfer Priorities
6729 No Indicating Email Handling States in Trace Fields
6857 No Post-Delivery Message Downgrading for Internationalized Email Messages
7293 No The Require-Recipient-Valid-Since Header Field and SMTP Service Extension
7372 Yes Email Authentication Status Codes
7435 Yes Opportunistic Security: Some Protection Most of the Time
7504 Yes SMTP 521 and 556 Reply Codes
7505 Yes A "Null MX" No Service Resource Record for Domains That Accept No Mail
8098 ? Message Disposition Notification
8601 Yes Message Header Field for Indicating Message Authentication Status
8689 Yes SMTP Require TLS Option
8904 No DNS Whitelist (DNSWL) Email Authentication Method Extension
9422 Yes The LIMITS SMTP Service Extension
SPF #
4408 Yes Obsolete: (by RFC 7208) Sender Policy Framework (SPF) for Authorizing Use of Domains in E-Mail, Version 1
6652 ? Sender Policy Framework (SPF) Authentication Failure Reporting Using the Abuse Reporting Format
7208 Yes Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1
DKIM #
6376 Yes DomainKeys Identified Mail (DKIM) Signatures
4871 Yes Obsolete: (RFC 6376) DomainKeys Identified Mail (DKIM) Signatures
6377 ? DomainKeys Identified Mail (DKIM) and Mailing Lists
8301 Yes Cryptographic Algorithm and Key Usage Update to DomainKeys Identified Mail (DKIM)
8463 Yes A New Cryptographic Signature Method for DomainKeys Identified Mail (DKIM)
DMARC #
7489 Yes Domain-based Message Authentication, Reporting, and Conformance (DMARC)
7960 Yes Interoperability Issues between Domain-based Message Authentication, Reporting, and Conformance (DMARC) and Indirect Email Flows
9091 Roadmap Experimental Domain-Based Message Authentication, Reporting, and Conformance (DMARC) Extension for Public Suffix Domains
ARC #
8617 Roadmap The Authenticated Received Chain (ARC) Protocol
DANE #
6698 Yes The DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS) Protocol: TLSA
7672 Yes SMTP Security via Opportunistic DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS)
7673 Roadmap Using DNS-Based Authentication of Named Entities (DANE) TLSA Records with SRV Records
7929 No DNS-Based Authentication of Named Entities (DANE) Bindings for OpenPGP
8162 No Using Secure DNS to Associate Certificates with Domain Names for S/MIME
MTA-STS #
8461 Yes SMTP MTA Strict Transport Security (MTA-STS)
TLS Reporting #
8460 Yes SMTP TLS Reporting
ARF #
5965 Roadmap An Extensible Format for Email Feedback Reports
6650 Roadmap Creation and Use of Email Feedback Reports: An Applicability Statement for the Abuse Reporting Format (ARF)
6591 ? Authentication Failure Reporting Using the Abuse Reporting Format
6692 Roadmap Source Ports in Abuse Reporting Format (ARF) Reports
9477 Roadmap Complaint Feedback Loop Address Header
IMAP #
1730 Yes Obsolete: (RFC 2060) INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4
2060 Yes Obsolete: (RFC 3501) INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1
3501 Yes Obsolete: (RFC 9051) INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1
9051 Yes Internet Message Access Protocol (IMAP) - Version 4rev2
2087 Partial Obsolete: (RFC 9208) IMAP4 QUOTA extension
2152 Yes UTF-7 A Mail-Safe Transformation Format of Unicode
2177 Yes IMAP4 IDLE command
2180 Yes IMAP4 Multi-Accessed Mailbox Practice
2193 No IMAP4 Mailbox Referrals
2342 Yes IMAP4 Namespace
2683 Yes IMAP4 Implementation Recommendations
2971 Yes IMAP4 ID extension
3348 Yes Obsolete: (RFC 5258) The Internet Message Action Protocol (IMAP4) Child Mailbox Extension
3502 Yes Internet Message Access Protocol (IMAP) - MULTIAPPEND Extension
3503 ? Message Disposition Notification (MDN) profile for Internet Message Access Protocol (IMAP)
3516 Yes IMAP4 Binary Content Extension
3691 Yes Internet Message Access Protocol (IMAP) UNSELECT command
4314 Roadmap IMAP4 Access Control List (ACL) Extension
4315 Yes Internet Message Access Protocol (IMAP) - UIDPLUS extension
4467 Roadmap Internet Message Access Protocol (IMAP) - URLAUTH Extension
4469 Roadmap Internet Message Access Protocol (IMAP) CATENATE Extension
4551 Yes Obsolete: (RFC 7162) IMAP Extension for Conditional STORE Operation or Quick Flag Changes Resynchronization
4731 Yes IMAP4 Extension to SEARCH Command for Controlling What Kind of Information Is Returned
4959 Yes IMAP Extension for Simple Authentication and Security Layer (SASL) Initial Client Response
4978 Roadmap The IMAP COMPRESS Extension
5032 Yes WITHIN Search Extension to the IMAP Protocol
5092 Roadmap IMAP URL Scheme
5161 Yes The IMAP ENABLE Extension
5162 Yes Obsolete: (RFC 7162) IMAP4 Extensions for Quick Mailbox Resynchronization
5182 Yes IMAP Extension for Referencing the Last SEARCH Result
5255 No Internet Message Access Protocol Internationalization
5256 Roadmap Internet Message Access Protocol - SORT and THREAD Extensions
5257 No Internet Message Access Protocol - ANNOTATE Extension
5258 Yes Internet Message Access Protocol version 4 - LIST Command Extensions
5259 No Internet Message Access Protocol - CONVERT Extension
5267 Roadmap Contexts for IMAP4
5464 Yes The IMAP METADATA Extension
5465 Yes The IMAP NOTIFY Extension
5466 Roadmap IMAP4 Extension for Named Searches (Filters)
5524 No Extended URLFETCH for Binary and Converted Parts
5530 Yes IMAP Response Codes
5738 Partial Obsolete: (RFC 6855) IMAP Support for UTF-8
5819 Yes IMAP4 Extension for Returning STATUS Information in Extended LIST
5957 Roadmap Display-Based Address Sorting for the IMAP4 SORT Extension
6154 Yes IMAP LIST Extension for Special-Use Mailboxes
6203 No IMAP4 Extension for Fuzzy Search
6851 Yes Internet Message Access Protocol (IMAP) - MOVE Extension
6855 Yes IMAP Support for UTF-8
6858 No Simplified POP and IMAP Downgrading for Internationalized Email
7162 Yes IMAP Extensions: Quick Flag Changes Resynchronization (CONDSTORE) and Quick Mailbox Resynchronization (QRESYNC)
7377 Yes IMAP4 Multimailbox SEARCH Extension
7888 Yes IMAP4 Non-synchronizing Literals
7889 Yes The IMAP APPENDLIMIT Extension
8437 No IMAP UNAUTHENTICATE Extension for Connection Reuse
8438 Yes IMAP Extension for STATUS=SIZE
8440 ? IMAP4 Extension for Returning MYRIGHTS Information in Extended LIST
8457 No IMAP "$Important" Keyword and "\Important" Special-Use Attribute
8474 Roadmap IMAP Extension for Object Identifiers
8508 Yes IMAP REPLACE Extension
8514 Yes Internet Message Access Protocol (IMAP) - SAVEDATE Extension
8970 Yes IMAP4 Extension: Message Preview Generation
9208 Partial IMAP QUOTA Extension
9394 Roadmap IMAP PARTIAL Extension for Paged SEARCH and FETCH
9585 Yes IMAP Response Code for Command Progress Notifications
9586 Yes IMAP Extension for Using and Returning Unique Identifiers (UIDs) Only
9590 Yes IMAP Extension for Returning Mailbox METADATA in Extended LIST
9698 ? The JMAPACCESS Extension for IMAP
9738 No IMAP MESSAGELIMIT Extension
9755 Roadmap IMAP Support for UTF-8
Mailing list and automated responses #
2369 ? The Use of URLs as Meta-Syntax for Core Mail List Commands and their Transport through Message Header Fields
2919 ? List-Id: A Structured Field and Namespace for the Identification of Mailing Lists
3834 ? Recommendations for Automatic Responses to Electronic Mail
8058 ? Signaling One-Click Functionality for List Email Headers
Sieve #
3028 Roadmap Obsolete: (RFC 5228) Sieve: A Mail Filtering Language
5228 Roadmap Sieve: An Email Filtering Language
5804 Roadmap A Protocol for Remotely Managing Sieve Scripts
3894 No Sieve Extension: Copying Without Side Effects
5173 No Sieve Email Filtering: Body Extension
5183 Roadmap Sieve Email Filtering: Environment Extension
5229 Roadmap Sieve Email Filtering: Variables Extension
5230 Roadmap Sieve Email Filtering: Vacation Extension
5231 Roadmap Sieve Email Filtering: Relational Extension
5232 Roadmap Sieve Email Filtering: Imap4flags Extension
5233 Roadmap Sieve Email Filtering: Subaddress Extension
5235 No Sieve Email Filtering: Spamtest and Virustest Extensions
5260 No Sieve Email Filtering: Date and Index Extensions
5293 No Sieve Email Filtering: Editheader Extension
5429 Roadmap Sieve Email Filtering: Reject and Extended Reject Extensions
5435 No Sieve Email Filtering: Extension for Notifications
5437 No Sieve Notification Mechanism: Extensible Messaging and Presence Protocol (XMPP)
5463 Roadmap Sieve Email Filtering: Ihave Extension
5490 No The Sieve Mail-Filtering Language -- Extensions for Checking Mailbox Status and Accessing Mailbox Metadata
5703 No Sieve Email Filtering: MIME Part Tests, Iteration, Extraction, Replacement, and Enclosure
5784 No Sieve Email Filtering: Sieves and Display Directives in XML
6131 ? Sieve Vacation Extension: "Seconds" Parameter
6558 No Sieve Extension for Converting Messages before Delivery
6609 No Sieve Email Filtering: Include Extension
6785 Roadmap Support for Internet Message Access Protocol (IMAP) Events in Sieve
8579 Roadmap Sieve Email Filtering: Delivering to Special-Use Mailboxes
8580 No Sieve Extension: File Carbon Copy (FCC)
9042 No Sieve Email Filtering: Delivery by MAILBOXID
3431 Roadmap Obsolete: (RFC 5231) Relational Extension
3598 Roadmap Obsolete: (RFC 5233) Subaddress Extension
3685 No Obsolete: (RFC 5235) Spamtest and VirusTest Extensions
JMAP #
8620 Roadmap The JSON Meta Application Protocol (JMAP)
8621 Roadmap The JSON Meta Application Protocol (JMAP) for Mail
8887 Roadmap A JSON Meta Application Protocol (JMAP) Subprotocol for WebSocket
9007 ? Handling Message Disposition Notification with the JSON Meta Application Protocol (JMAP)
9219 No S/MIME Signature Verification Extension to the JSON Meta Application Protocol (JMAP)
9425 No JSON Meta Application Protocol (JMAP) for Quotas
CalDAV/iCal #
4791 Roadmap Calendaring Extensions to WebDAV (CalDAV)
5689 Roadmap Extended MKCOL for Web Distributed Authoring and Versioning (WebDAV)
6638 Roadmap Scheduling Extensions to CalDAV
6764 Roadmap Locating Services for Calendaring Extensions to WebDAV (CalDAV) and vCard Extensions to WebDAV (CardDAV)
7809 Roadmap Calendaring Extensions to WebDAV (CalDAV): Time Zones by Reference
7953 Roadmap Calendar Availability
5545 Roadmap Internet Calendaring and Scheduling Core Object Specification (iCalendar)
5546 Roadmap iCalendar Transport-Independent Interoperability Protocol (iTIP)
6047 Roadmap iCalendar Message-Based Interoperability Protocol (iMIP)
6868 Roadmap Parameter Value Encoding in iCalendar and vCard
7529 ? Non-Gregorian Recurrence Rules in the Internet Calendaring and Scheduling Core Object Specification (iCalendar)
7986 ? New Properties for iCalendar
9073 ? Event Publishing Extensions to iCalendar
9074 ? "VALARM" Extensions for iCalendar
9253 ? Support for iCalendar Relationships
6321 ? xCal: The XML Format for iCalendar
7265 ? jCal: The JSON Format for iCalendar
CardDAV/vCard #
6352 Roadmap CardDAV: vCard Extensions to Web Distributed Authoring and Versioning (WebDAV)
2425 Roadmap A MIME Content-Type for Directory Information
2426 ? vCard MIME Directory Profile
6350 Roadmap vCard Format Specification
6351 ? xCard: vCard XML Representation
6473 ? vCard KIND:application
6474 ? vCard Format Extensions: Place of Birth, Place and Date of Death
6715 ? vCard Format Extensions: Representing vCard Extensions Defined by the Open Mobile Alliance (OMA) Converged Address Book (CAB) Group
6869 ? vCard KIND:device
7095 ? jCard: The JSON Format for vCard
WebDAV #
4918 Roadmap HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)
3253 ? Versioning Extensions to WebDAV (Web Distributed Authoring and Versioning)
3648 ? Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol
3744 ? Web Distributed Authoring and Versioning (WebDAV) Access Control Protocol
4437 ? Web Distributed Authoring and Versioning (WebDAV) Redirect Reference Resources
5323 ? Web Distributed Authoring and Versioning (WebDAV) SEARCH
6578 ? Collection Synchronization for Web Distributed Authoring and Versioning (WebDAV)
SASL #
2195 Yes IMAP/POP AUTHorize Extension for Simple Challenge/Response
4013 Yes Obsolete: (RFC 7613) SASLprep: Stringprep Profile for User Names and Passwords
4422 Yes Simple Authentication and Security Layer (SASL)
4505 No Anonymous Simple Authentication and Security Layer (SASL) Mechanism
4616 Yes The PLAIN Simple Authentication and Security Layer (SASL) Mechanism
5802 Yes Salted Challenge Response Authentication Mechanism (SCRAM) SASL and GSS-API Mechanisms
7613 Yes Obsolete: (RFC 8265) Preparation, Enforcement, and Comparison of Internationalized Strings Representing Usernames and Passwords
7677 Yes SCRAM-SHA-256 and SCRAM-SHA-256-PLUS Simple Authentication and Security Layer (SASL) Mechanisms
8265 Yes Preparation, Enforcement, and Comparison of Internationalized Strings Representing Usernames and Passwords
Internationalization #
3492 Yes Punycode: A Bootstring encoding of Unicode for Internationalized Domain Names in Applications (IDNA)
5890 Yes Internationalized Domain Names for Applications (IDNA): Definitions and Document Framework
5891 Yes Internationalized Domain Names in Applications (IDNA): Protocol
5892 ? The Unicode Code Points and Internationalized Domain Names for Applications (IDNA)
5893 ? Right-to-Left Scripts for Internationalized Domain Names for Applications (IDNA)
5894 ? Internationalized Domain Names for Applications (IDNA): Background, Explanation, and Rationale
8616 Yes Email Authentication for Internationalized Mail
TLS #
5056 Yes On the Use of Channel Bindings to Secure Channels
5705 Yes Keying Material Exporters for Transport Layer Security (TLS)
5929 Yes Channel Bindings for TLS
8314 Yes Cleartext Considered Obsolete: Use of Transport Layer Security (TLS) for Email Submission and Access
8446 Yes The Transport Layer Security (TLS) Protocol Version 1.3
8996 Yes Deprecating TLS 1.0 and TLS 1.1
8997 Yes Deprecation of TLS 1.1 for Email Submission and Access
9266 Yes Channel Bindings for TLS 1.3
ACME #
8555 Yes Automatic Certificate Management Environment (ACME)
8737 Yes Automated Certificate Management Environment (ACME) TLS Application-Layer Protocol Negotiation (ALPN) Challenge Extension
CAA #
8659 Yes DNS Certification Authority Authorization (CAA) Resource Record
8657 Yes Certification Authority Authorization (CAA) Record Extensions for Account URI and Automatic Certificate Management Environment (ACME) Method Binding
HTTP #
2616 Yes Obsolete: (RFC 7230) Hypertext Transfer Protocol -- HTTP/1.1
6455 Yes The WebSocket Protocol
7230 Yes Obsolete: (RFC 9110) Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
9110 Yes HTTP Semantics


feedback?
2025-04-18, commit ee99e82