diff --git a/content/documentation/connect/imap.md b/content/documentation/connect/imap.md index 0d1bb7b..99a14ea 100644 --- a/content/documentation/connect/imap.md +++ b/content/documentation/connect/imap.md @@ -11,3 +11,29 @@ Examples with some well known email clients. ## K9Mail ## Mutt + +Create a config file (`~/.muttrc`): + +```ini +set imap_user = alice +set imap_pass = p455w0rd +set folder = imap://localhost:1143 +set spoolfile = +INBOX +set ssl_starttls = no +set ssl_force_tls = no +mailboxes = +INBOX +bind index G imap-fetch-mail +``` + +And then simply launch `mutt`. +The first time nothing will happen as Aerogramme must +process your incoming emails. Just ask `mutt` to refresh its +view by pressing `G` (for *Get*). + +Now, you should see some emails: + +![Screenshot of mutt mailbox](/screenshots/mutt_mb.png) + +And you can read them: + +![Screenshot of mutt mail view](/screenshots/mutt_mail.png) diff --git a/content/documentation/cookbook/discovery.txt b/content/documentation/cookbook/discovery.txt new file mode 100644 index 0000000..a36f98b --- /dev/null +++ b/content/documentation/cookbook/discovery.txt @@ -0,0 +1,3 @@ +Discovery RFC (see Alps) + +Thunderbird discovery. diff --git a/content/documentation/development/dataset.md b/content/documentation/development/dataset.md new file mode 100644 index 0000000..8d68c4f --- /dev/null +++ b/content/documentation/development/dataset.md @@ -0,0 +1,20 @@ ++++ +title = "Datasets" +weight = 20 ++++ + +To debug / fuzz Aerogramme, we seek some datasets. + +## Emails datasets + + - [stalwartlabs/mail-parser](https://github.com/stalwartlabs/mail-parser/tree/main/tests) + - [basecamp/mail](https://github.com/basecamp/mail/tree/master/spec/fixtures) + - [Enron dataset - 500k entries](https://www.cs.cmu.edu/~enron/) + - [Jeb Bush dataset - 290k entries](https://ab21www.s3.amazonaws.com/JebBushEmails-Text.7z) + - [spambase dataset](https://archive.ics.uci.edu/ml/datasets/spambase) (also contains legit emails) + - mailing lists + - [W3C](https://lists.w3.org/Archives/Public/) + - [Wikimedia](https://lists.wikimedia.org/hyperkitty/) + - [Apache](https://commons.apache.org/mail-lists.html) - [tomcat](https://lists.apache.org/list.html?dev@tomcat.apache.org), [kafka](https://lists.apache.org/list.html?dev@kafka.apache.org). + - [Linux](https://marc.info/?l=linux-kernel) + - your own inbox diff --git a/content/documentation/development/netcat.md b/content/documentation/development/netcat.md index cea34d9..8d7a54b 100644 --- a/content/documentation/development/netcat.md +++ b/content/documentation/development/netcat.md @@ -9,7 +9,7 @@ that could help you quickly test/debug Aerogramme. Start with: ``` -nc localhost 143 +nc localhost 1143 ``` ## Login diff --git a/content/documentation/quick-start/_index.md b/content/documentation/quick-start/_index.md index 2b2ccb2..e090379 100644 --- a/content/documentation/quick-start/_index.md +++ b/content/documentation/quick-start/_index.md @@ -203,8 +203,8 @@ view by pressing `G` (for *Get*). Now, you should see some emails: -![Screenshot of mutt mailbox](./mutt_mb.png) +![Screenshot of mutt mailbox](/screenshots/mutt_mb.png) And you can read them: -![Screenshot of mutt mail view](./mutt_mail.png) +![Screenshot of mutt mail view](/screenshots/mutt_mail.png) diff --git a/content/documentation/quick-start/mutt_mail.png b/content/documentation/quick-start/mutt_mail.png deleted file mode 100644 index e8d04e4..0000000 Binary files a/content/documentation/quick-start/mutt_mail.png and /dev/null differ diff --git a/content/documentation/quick-start/mutt_mb.png b/content/documentation/quick-start/mutt_mb.png deleted file mode 100644 index d1bafaf..0000000 Binary files a/content/documentation/quick-start/mutt_mb.png and /dev/null differ diff --git a/content/documentation/reference/_index.md b/content/documentation/reference/_index.md index 08a999a..2e86981 100644 --- a/content/documentation/reference/_index.md +++ b/content/documentation/reference/_index.md @@ -5,4 +5,4 @@ sort_by = "weight" template = "documentation.html" +++ -Test +Reference documents on Aerogramme. diff --git a/content/documentation/reference/rfc.md b/content/documentation/reference/rfc.md index 800ec54..09ee5c0 100644 --- a/content/documentation/reference/rfc.md +++ b/content/documentation/reference/rfc.md @@ -3,4 +3,93 @@ title = "RFC Coverage" weight = 20 +++ -*Not yet written* +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) diff --git a/src/input.css b/src/input.css index 0a3dfc9..9987857 100755 --- a/src/input.css +++ b/src/input.css @@ -98,6 +98,10 @@ p > code, p > strong > code, li > code, li > strong > code { @apply inline-block my-8 shadow rounded; } +.footnote-definition p { + @apply inline-block; +} + .is-active { @apply text-aerogramme-blue; }