= Distributed James Server &mdash; Implemented standards
:navtitle: Implemented standards

This page details standards implemented by the distributed server.

== Message formats

 - link:https://datatracker.ietf.org/doc/html/rfc5322[RFC-5322] Internet Message Format (MIME)
 - link:https://datatracker.ietf.org/doc/html/rfc2045[RFC-2045] Format of Internet Message Bodies
 - link:https://datatracker.ietf.org/doc/html/rfc3464[RFC-3464] An Extensible Message Format for Delivery Status Notifications
   - James allow emmit DSNs from the mailet container.
 - link:https://datatracker.ietf.org/doc/html/rfc8098[RFC-8098] Message Disposition Notification

== TLS & authentication

- link:https://datatracker.ietf.org/doc/html/rfc2595.html[RFC-2595] TLS for IMAP, POP3, SMTP (StartTLS)
- link:https://datatracker.ietf.org/doc/html/rfc8314.html[RFC-8314] Implicit TLS
- link:https://www.rfc-editor.org/rfc/rfc4959.html[RFC-4959] SASL IR: Initial client response
- link:https://datatracker.ietf.org/doc/html/rfc4616[RFC-4616] SASL plain authentication
- link:https://datatracker.ietf.org/doc/html/rfc8314.html[RFC-7628] SASL for OAUTH
- Implemented for IMAP and SMTP
- Support for OIDC standard only.

== SMTP

- link:https://datatracker.ietf.org/doc/html/rfc5321[RFC-5321] SMTP Protocol
- link:https://datatracker.ietf.org/doc/html/rfc974[RFC-974] MAIL ROUTING AND THE DOMAIN SYSTEM
- link:https://www.rfc-editor.org/rfc/rfc3461[RFC-3461] Simple Mail Transfer Protocol (SMTP) Service Extension for Delivery Status Notifications (DSNs)
   - Requires extra configuration.
- link:https://datatracker.ietf.org/doc/html/rfc1652[RFC-1652] SMTP Service Extension for 8bit-MIME transport
- link:https://datatracker.ietf.org/doc/html/rfc1830[RFC-1830] SMTP Service Extensions for Transmission of Large and Binary MIME Messages
- link:https://datatracker.ietf.org/doc/html/rfc1869[RFC-1869] SMTP Service Extensions
- link:https://datatracker.ietf.org/doc/html/rfc1870[RFC-1870] SMTP Service Extension for Message Size Declaration
- link:https://datatracker.ietf.org/doc/html/rfc1891[RFC-1891] SMTP Service Extension for Delivery Status Notifications
- link:https://datatracker.ietf.org/doc/html/rfc1893[RFC-1893] Enhanced Mail System Status Codes
- link:https://datatracker.ietf.org/doc/html/rfc2034[RFC-2034] SMTP Service Extension for Returning Enhanced Error Codes
- link:https://datatracker.ietf.org/doc/html/rfc2142[RFC-2142] Mailbox Names For Common Services, Roles And Functions
- link:https://datatracker.ietf.org/doc/html/rfc2197[RFC-2197] SMTP Service Extension for Command Pipelining
- link:https://datatracker.ietf.org/doc/html/rfc2554[RFC-2554] ESMTP Service Extension for Authentication
- link:https://datatracker.ietf.org/doc/html/rfc1893[RFC-1893] Enhanced Mail System Status Codes

== LMTP

 - link:https://james.apache.org/server/rfclist/lmtp/rfc2033.txt[RFC-2033] LMTP Local Mail Transfer Protocol

== IMAP

The following IMAP specifications are implemented:

 - link:https://datatracker.ietf.org/doc/html/rfc3501.html[RFC-3501] INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1
 - link:https://datatracker.ietf.org/doc/html/rfc2177.html[RFC-2177] IMAP IDLE (mailbox scoped push notifications)
 - link:https://www.rfc-editor.org/rfc/rfc9208.html[RFC-9208] IMAP QUOTA Extension
 - link:https://datatracker.ietf.org/doc/html/rfc2342.html[RFC-2342] IMAP namespace
 - link:https://datatracker.ietf.org/doc/html/rfc2088.html[RFC-2088] IMAP non synchronized literals
 - link:https://datatracker.ietf.org/doc/html/rfc4315.html[RFC-4315] IMAP UIDPLUS
 - link:https://datatracker.ietf.org/doc/html/rfc5464.html[RFC-5464] IMAP Metadata (annotations on mailboxes)
 - link:https://datatracker.ietf.org/doc/html/rfc4551.html[RFC-4551] IMAP Condstore
 - link:https://datatracker.ietf.org/doc/html/rfc5162.html[RFC-5162] IMAP QRESYNC (synchronisation semantic for deleted messages)
    - We don't store a log of deleted modseq thus clients should rely on known sequences mechanism to optimize exchanges.
 - link:https://datatracker.ietf.org/doc/html/rfc4978.html[RFC-4978] IMAP Compress (optional)
 - link:https://datatracker.ietf.org/doc/html/rfc5161.html[RFC-5161] IMAP ENABLE
 - link:https://datatracker.ietf.org/doc/html/rfc6851.html[RFC-6851] IMAP MOVE command
 - link:https://datatracker.ietf.org/doc/html/rfc5182.html[RFC-5182] IMAP Extension for Referencing the Last SEARCH Result
 - link:https://datatracker.ietf.org/doc/html/rfc5032.html[RFC-5032] IMAP WITHIN (for relative date search semantic)
 - link:https://datatracker.ietf.org/doc/html/rfc4731.html[RFC-4731] IMAP ESEARCH: extentions for IMAP search: new options like min, max, count.
 - link:https://datatracker.ietf.org/doc/html/rfc3348.html[RFC-3348] IMAP Child Mailbox Extension
 - link:https://www.rfc-editor.org/rfc/rfc8508.html[RFC-8508] IMAP Replace Extension
 - link:https://www.rfc-editor.org/rfc/rfc7889.html[RFC-7889] IMAP Extension for APPENDLIMIT
 - link:https://www.rfc-editor.org/rfc/rfc8474.html[RFC-8474] IMAP Extension for Object Identifiers
 - link:https://datatracker.ietf.org/doc/html/rfc2971.html[RFC-2971] IMAP ID Extension
 - link:https://datatracker.ietf.org/doc/html/rfc8438.html[RFC-8438] IMAP Extension for STATUS=SIZE
 - link:https://www.rfc-editor.org/rfc/rfc5258.html[RFC-5258] IMAP LIST Command Extensions
 - link:https://www.rfc-editor.org/rfc/rfc5819.html[RFC-5819] IMAP4 Extension for Returning STATUS Information in Extended LIST
 - link:https://www.rfc-editor.org/rfc/rfc8440.html[RFC-8440] IMAP4 Extension for Returning MYRIGHTS Information in Extended LIST
 - link:https://www.rfc-editor.org/rfc/rfc8440.html[RFC-6154] IMAP LIST Extension for Special-Use Mailboxes
 - link:https://www.rfc-editor.org/rfc/rfc8514.html[RFC-8514] IMAP SAVEDATE Extension

Partially implemented specifications:

 - link:https://datatracker.ietf.org/doc/html/rfc4314.html[RFC-4314] IMAP ACL
   - ACLs can be created and managed but mailbox not belonging to one account cannot, as of today, be accessed in IMAP.

== JMAP

 - link:https://datatracker.ietf.org/doc/html/rfc8620[RFC-8620] Json Metadata Application Protocol (JMAP)
 - link:https://datatracker.ietf.org/doc/html/rfc8621[RFC-8621] JMAP for emails
 - link:https://datatracker.ietf.org/doc/html/rfc8887[RFC-8887] JMAP over websockets
 - link:https://datatracker.ietf.org/doc/html/rfc9007.html[RFC-9007] Message Delivery Notifications with JMAP.
 - link:https://datatracker.ietf.org/doc/html/rfc8030.html[RFC-8030] Web PUSH: JMAP enable sending push notifications through a push gateway.

https://jmap.io/[JMAP]  is intended to be a new standard for email clients to connect to mail
stores. It therefore intends to primarily replace IMAP + SMTP submission. It is also designed to be more
generic. It does not replace MTA-to-MTA SMTP transmission.

The link:https://github.com/apache/james-project/tree/master/server/protocols/jmap-rfc-8621/doc/specs/spec[annotated documentation]
presents the limits of the JMAP RFC-8621 implementation part of the Apache James project.

Some methods / types are not yet implemented, some implementations are naive, and the PUSH is not supported yet.

Users are invited to read these limitations before using actively the JMAP RFC-8621 implementation, and should ensure their
client applications only uses supported operations.

== POP3

 - link:https://www.ietf.org/rfc/rfc1939.txt[RFC-1939] Post Office Protocol - Version 3

== ManageSieve

Support for manageSieve is experimental.

 - link:https://datatracker.ietf.org/doc/html/rfc5804[RFC-5804] A Protocol for Remotely Managing Sieve Scripts

== Sieve

 - link:https://datatracker.ietf.org/doc/html/rfc5228[RFC-5228] Sieve: An Email Filtering Language
 - link:https://datatracker.ietf.org/doc/html/rfc5173[RFC-5173] Sieve Email Filtering: Body Extension
 - link:https://datatracker.ietf.org/doc/html/rfc5230[RFC-5230] Sieve Email Filtering: Vacation Extension


