SWE::Resender
A Rhai-driven email client for Resend
Features
Rhai-driven
Identity, sending and accounting are assembled in Rhai scripts — no recompile needed.
Markdown to HTML
Bodies are auto-converted to inline-styled, email-friendly HTML for Outlook / Gmail.
Fixed From name
Configure the From name once in Settings; every mail uses it.
Send counters + quota
Live current-period count and remaining quota, turns red when exhausted.
SM encryption
libsmx SM4-GCM encrypts the API key / From name; the password is never stored.
Encrypted logs
Run logs are stored as SM4-GCM ciphertext under a machine-local key.
History & drafts
Every send is logged; drafts restore automatically on next launch.
Attachment progress
Status bar shows live upload progress with time-bounded requests.
Why Resender
- Rhai-driven business logic: Rust only registers safe primitives (HTTP / crypto / store / UI feedback); identity resolution, sending and accounting are assembled dynamically in scripts — change behaviour without recompiling.
- Email-friendly Markdown: bodies are converted to inline-styled HTML (Outlook / Gmail compatible) on send.
- SM encryption: libsmx SM4-GCM protects the API key and From name; the password is never stored.
- History & drafts: every send is logged locally and drafts restore automatically.
Quick start
cargo run --release
Open Settings, fill in the Resend API key (re_...) and the From name, then go to Compose, fill recipients / subject / body and click Send.