diff --git a/DESIGN.md b/DESIGN.md index 23aebf4..6e7edb7 100644 --- a/DESIGN.md +++ b/DESIGN.md @@ -13,13 +13,15 @@ We need: * Serve autodiscovery bumpf * ActiveSync protocol * Storage + * Give it a home directory. Stores Maildirs + settings DB + TLS * Accounts * Passwords! * Emails * TLS keys + certificates - * Search emails - some sort of inverted index necessary + * Emails go into Maildirs + * Search emails - some sort of inverted index necessary. One per maildir? * https://github.com/blevesearch/bleve ? - * Embedded database best. Ideally we have a single file to work with + * Settings DB should be a simple K-V store for accounts, passwords, etc. BoltDB? * https://github.com/coreos/bbolt * https://github.com/asdine/storm @@ -52,3 +54,5 @@ The message body is being stored inefficiently (json []byte, so base64-encoded) Message username and mailbox are indexed, but is that good enough? Perhaps we should have a bucket per mailbox or something? + +TODO: rewrite this (and the code) to make Maildir into a thing diff --git a/README.md b/README.md index bef0784..04c4953 100644 --- a/README.md +++ b/README.md @@ -28,9 +28,8 @@ ## What not * JMAP. Not today. -* Maildir/mbox support. Imports and exports via IMAP, backups by "copy this file" * Bring your own X (where X is MTA, IMAP server, database, etc, etc) -* Multiple-domain support (maybe later) +* Multiple-domain support (maaaaaaaaaaaaybe later) * CalDAV/Carddav (yet) * Externally sourced accounts (yet) * Sending email without having an account @@ -46,7 +45,7 @@ own is painful. Various projects exist to try to make it easier, eg: * symbiosis * ... -(Personally, I had some ansible recipes: ) +(Personally, I had some ansible recipes!) Even among people who run their own websites, it's rare to run your own email. It's just too painful. Much of this pain is caused by ultra-configurable