Email Client App
What is it?
The Email Client app is the planned mail.exe: a three-panel mail window, a compose window, account setup with encrypted password storage, a five-minute new-mail check with toasts and a tray icon, a contacts store and a keyword spam filter. It sits on top of the protocol roadmap, which parses messages and speaks SMTP, POP3 and IMAP. Nothing of either exists yet.
How does it work?
Today. There is no mail code. The app will build on:
- Codecs.
base64_encode()andbase64_decode()with a MIME mode for attachments (kcodec.h). - Registry.
RegCreateKeyEx(),RegSetString(),RegGetString(),RegEnumKeyEx()andRegDeleteKey()(registry.h) for account settings. - Randomness.
csprng_fill()(csprng.h) for the nonce that protects a stored password. - TLS is vendored as Mbed TLS but not yet built (
PROVENANCE.md), and the control library has no list view yet (controls.h).
Planned design.
flowchart TB
subgraph App[mail.exe]
GUI[Three-panel window] --> COMP[Compose window]
ACC[Account manager] --> CRED[Encrypted password]
CHK[Auto-check every 300 s] --> TOAST[Toast, badge, tray icon]
SPAM[Spam filter]
CONT[Contacts]
end
App --> PROTO[Protocol roadmap: parser, SMTP, POP3, IMAP]
PROTO --> TLS[TLS and sockets]
- Sending and receiving. SMTP with STARTTLS and
AUTH LOGIN, retrying on a 421 reply and reporting a 550 rejection; POP3 over TLS on port 995, saving each message as an.emlfile; IMAP withIDLEas a stretch. - Three-panel window. An account and folder tree with unread counts, a message list with read and attachment markers, and a viewer that wraps the body and shows inline images, plus a search bar.
- Compose. To-field autocomplete, attachments sent as MIME multipart, reply and forward pre-filled, and a draft saved every 60 seconds.
- Accounts. Settings under
HKCU\Software\Impossible\Mail\Accounts\{name}\, with the password encrypted by AES-256-GCM under a key held by the CNG key store. - Notifications. A scheduled check every five minutes, a toast for new mail, a taskbar badge and an envelope tray icon.
- Contacts with autocomplete, and a spam filter that scores keywords, keeps allow and block lists, and learns from Mark as Spam and Not Spam.
What are its interfaces?
| Interface | Status |
|---|---|
base64_encode(), base64_decode(), Registry API, csprng_fill() |
Shipped |
| Message parser, SMTP, POP3, IMAP | Planned in the Email Protocols roadmap |
| AES-256-GCM encryption and the key store | Planned in the CNG Crypto roadmap |
| Toasts, tray icons, taskbar badges | Planned in the notifications roadmap |
| Scheduled tasks | Planned in the task scheduler roadmap |
| List view control | Planned in the widget library roadmap |
How do I use it?
The mail app cannot be launched yet, and the OS cannot open a TCP or TLS connection. Nothing in this roadmap is runnable today.
Which roadmap owns which half?
The Email Protocols roadmap owns the message parser, SMTP, POP3, IMAP, server autodiscovery and search; its window, compose and notification sections are marked as moved here. This roadmap owns the app, the credential store, notifications, contacts and the spam filter. Two details disagree between the files and are filed in section 8: contacts are a CSV file under the user's folder here and a JSON file under C:\Users\Default\ there, and the message store path differs the same way.
What is not implemented yet?
Nothing in this roadmap has started:
- SMTP Client and POP3 Client, which need TLS
- IMAP Client, a stretch goal
- Three-Panel Email GUI and the Compose Window
- Account Management and Credential Store, which needs AES-GCM in the CNG roadmap
- Auto-Check, Notifications and Tray
- Contacts Store and the Spam and Junk Filter
How does it compare with Windows 11 and Linux?
Windows 11 ships the new Outlook, which stores credentials with Credential Manager and DPAPI and relies on the server for junk filtering. On Linux, Thunderbird and Evolution are the usual clients, with passwords in their own store or the desktop keyring and spam filtering through a local learning filter or SpamAssassin. The Impossible OS plan keeps everything on the OS's own stack: its TLS, its Registry for settings, its CNG key store for passwords, and a small local spam filter. It does not exist yet.