+++
title = "RFC Coverage"
weight = 20
+++

Status code : 
 - 🔴 FAIL - not supported,
 - 🟠 PART - partial support,
 - 🟢 OK  - acceptable support.

## IMF

Internet Message Format is the data representation of an email: its explains how to encode metadata, like the recipient and the sender, but also the content of the email (HTML, plain text, attachments, etc).

*Currently based on [stalwartlabs/mail-parser](https://github.com/stalwartlabs/mail-parser).*

| RFC | Title | Status | Notes |
|-----|--------|-------|-------|
| [822](https://www.rfc-editor.org/rfc/rfc822) | ARPA INTERNET TEXT MESSAGES | 🟠 PART | ... |
| [2822](https://datatracker.ietf.org/doc/html/rfc2822) | Internet Message Format (2001) | 🟠 PART | ... |
| [5322](https://www.rfc-editor.org/rfc/rfc5322.html) | **Internet Message Format (2008)** | 🟠 PART | ... | 
| [2045](https://datatracker.ietf.org/doc/html/rfc2045) | ↳ Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies | 🟠 PART | ... |
| [2046](https://datatracker.ietf.org/doc/html/rfc2046) | ↳ Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types | 🟠 PART | ... |
| [2047](https://datatracker.ietf.org/doc/html/rfc2047) | ↳ MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header Extensions for Non-ASCII Text | 🟠 PART | ... |
| [2048](https://datatracker.ietf.org/doc/html/rfc2048) | ↳ Multipurpose Internet Mail Extensions (MIME) Part Four: Registration Procedures | 🟠 PART | ... |
| [2049](https://datatracker.ietf.org/doc/html/rfc2049) | ↳ Multipurpose Internet Mail Extensions (MIME) Part Five: Conformance Criteria and Examples | 🟠 PART | ... |
| [6532](https://datatracker.ietf.org/doc/html/rfc6532) | Internationalized Email Headers |  🔴 FAIL | ... |


## IMAP

IMAP is a protocol to remotely access a mailbox.

*Based on [duesee/imap-codec](https://github.com/duesee/imap-codec) and [KokaKiwi/boitalettres](https://git.deuxfleurs.fr/KokaKiwi/boitalettres/).*

| RFC | Title | Status | Notes |
|-----|-------|--------|-------|
| [3501](https://www.rfc-editor.org/rfc/rfc3501) | **INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1** | 🟠 PART | [^1] |
| [9051](https://www.rfc-editor.org/rfc/rfc9051.html) | **Internet Message Access Protocol (IMAP) - Version 4rev2** | 🔴 FAIL | ... |
| [2177](https://www.rfc-editor.org/rfc/rfc2177.html) | ↳ IMAP4 IDLE command | 🔴 FAIL | ... |
| [2342](https://www.rfc-editor.org/rfc/rfc2342.html) | ↳ IMAP4 Namespace | 🔴 FAIL | ... |
| [3516](https://www.rfc-editor.org/rfc/rfc3516.html) | ↳ IMAP4 Binary Content Extension | 🔴 FAIL | ... |
| [3691](https://www.rfc-editor.org/rfc/rfc3691.html) | ↳ Internet Message Access Protocol (IMAP) UNSELECT command | 🔴 FAIL | ... |
| [4315](https://www.rfc-editor.org/rfc/rfc4315.html) | ↳ Internet Message Access Protocol (IMAP) - UIDPLUS extension | 🔴 FAIL | ... |
| [4731](https://www.rfc-editor.org/rfc/rfc4731.html) | ↳ IMAP4 Extension to SEARCH Command for Controlling What Kind of Information Is Returned |  🔴 FAIL | ... |
| [4959](https://www.rfc-editor.org/rfc/rfc4959.html) | ↳ IMAP Extension for Simple Authentication and Security Layer (SASL) Initial Client Response |  🔴 FAIL | ... |
| [5161](https://www.rfc-editor.org/rfc/rfc5161.html) | ↳ The IMAP ENABLE Extension |  🔴 FAIL | ... |
| [5182](https://www.rfc-editor.org/rfc/rfc5182.html) | ↳ IMAP Extension for Referencing the Last SEARCH Result |  🔴 FAIL | ... |
| [5258](https://www.rfc-editor.org/rfc/rfc5258.html) | ↳ Internet Message Access Protocol version 4 - LIST Command Extensions | 🔴 FAIL | ... |
| [5530](https://www.rfc-editor.org/rfc/rfc5530.html) | ↳ IMAP Response Codes |  🔴 FAIL | ... |
| [5819](https://www.rfc-editor.org/rfc/rfc5819.html) | ↳ IMAP4 Extension for Returning STATUS Information in Extended LIST | 🔴 FAIL | ... |
| [6154](https://www.rfc-editor.org/rfc/rfc6154.html) | ↳ IMAP LIST Extension for Special-Use Mailboxes | 🔴 FAIL | ... |
| [6851](https://www.rfc-editor.org/rfc/rfc6851.html) | ↳ Internet Message Access Protocol (IMAP) - MOVE Extension | 🔴 FAIL | ... |
| [7888](https://www.rfc-editor.org/rfc/rfc7888.html) | ↳ IMAP4 Non-synchronizing Literals | 🔴 FAIL | ... |
| [7162](https://www.rfc-editor.org/rfc/rfc2177.html) | IMAP Extensions: Quick Flag Changes Resynchronization (CONDSTORE) and Quick Mailbox Resynchronization (QRESYNC) | 🔴 FAIL | ... |

[^1]: Aerogramme does not support continuations yet, which breaks some IMAP commands


## LMTP

LMTP is a protocol used by a Mail Transfer Agent (MTA, like Postfix) to deliver a mail to a local mailbox handled by a Mail Delivery Agent (MDA, like Dovecot or Aerogramme).

*Based on [Ekleog/kannader](https://github.com/Ekleog/kannader).*

| RFC | Title | Status | Notes |
|-----|-------|--------|-------|
| [2033](https://www.rfc-editor.org/rfc/rfc2033) | Local Mail Transfer Protocol | 🟢 OK | ... |


## CalDAV

CalDAV is a protocol to remotely access a calendar and notes.

| RFC | Title | Status | Notes |
|-----|-------|--------|-------|
| [RFC2445](https://www.rfc-editor.org/rfc/rfc2445.html) | Internet Calendaring and Scheduling Core Object Specification (iCalendar) | 🔴 FAIL | ... |
| [RFC2518](https://www.rfc-editor.org/rfc/rfc2518.html) | HTTP Extensions for Distributed Authoring -- WEBDAV | 🔴 FAIL | ... |
| [RFC4791](https://www.rfc-editor.org/rfc/rfc4791) | Calendaring Extensions to WebDAV (CalDAV) |  🔴 FAIL | ... |


## CardDAV

CarDAV is a protocol to remotely access contacts information.

| RFC | Title | Status | Notes |
|-----|-------|--------|-------|
| [6532](https://www.rfc-editor.org/rfc/rfc6352) | CardDAV: vCard Extensions to Web Distributed Authoring and Versioning (WebDAV) |   🔴 FAIL | ... |


## See also

- [Basecamp/Hey reference on email](https://github.com/basecamp/mail/tree/master/reference)
- [Microsoft reference on IMF](https://learn.microsoft.com/en-us/previous-versions/office/developer/exchange-server-2010/aa563098(v=exchg.140))
- [OCaml Mirage project, mrmime](https://github.com/mirage/mrmime)
