docs(mailcore): add README explaining license and module layout

This commit is contained in:
Eugen Kaparulin
2026-04-17 09:08:18 +03:00
parent 90c8571d26
commit c0a82ce9f4

27
mailcore/README.md Normal file
View 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.