docs(mailcore): add README explaining license and module layout
This commit is contained in:
27
mailcore/README.md
Normal file
27
mailcore/README.md
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
# mailcore
|
||||||
|
|
||||||
|
The open-source Rust engine at the heart of [Korax](../) — a PGP-first email client.
|
||||||
|
|
||||||
|
This library handles everything below the UI layer: IMAP, SMTP, MIME parsing, local SQLite storage, and DNS auto-discovery. It is published here for transparency and community audit.
|
||||||
|
|
||||||
|
## What's here
|
||||||
|
|
||||||
|
| Module | Description |
|
||||||
|
|---|---|
|
||||||
|
| `src/imap/` | RFC 3501 IMAP client, UIDVALIDITY-aware, uses `BODY.PEEK[]` to preserve `\Seen` flag integrity |
|
||||||
|
| `src/smtp/` | RFC 5321 SMTP with STARTTLS and SMTPS |
|
||||||
|
| `src/storage/` | SQLite message cache, folder state, account credentials |
|
||||||
|
| `src/mime/` | RFC 2045/2046 multipart MIME parser |
|
||||||
|
| `src/dns/` | SRV auto-discovery (`_imaps._tcp`, `_submission._tcp`) — same mechanism used by Thunderbird and Evolution |
|
||||||
|
| `src/session_manager.rs` | Shared IMAP session pool |
|
||||||
|
| `src/api.rs` | Public FFI surface (consumed via `flutter_rust_bridge`) |
|
||||||
|
|
||||||
|
## What's not here
|
||||||
|
|
||||||
|
PGP/Sequoia integration and advanced privacy features live in a separate proprietary crate (`mailmore`) and are not published.
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
Published under the **PolyForm Noncommercial License 1.0.0** — free to read, study, and use for noncommercial purposes. See the [LICENSE](../LICENSE) file in the root of this repository. Commercial use requires a separate agreement with the author.
|
||||||
|
|
||||||
|
© Eugen Kaparulin. All rights reserved.
|
||||||
Reference in New Issue
Block a user