No description
  • Rust 60.9%
  • JavaScript 27.7%
  • CSS 8.1%
  • HTML 3.1%
  • Just 0.2%
Find a file
Alex 089d49c37e Drafts: build with mail-builder so an empty recipient is allowed
lettre refuses to build a Message without a valid envelope ("missing destination
address"), so saving a draft with no To failed. build_rfc822 now uses mail-builder
(added as a dep), which writes the RFC-822 without requiring a recipient; Date and
Message-ID are auto-generated. New mail/reply still go through lettre (they require
a recipient anyway).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 00:53:42 +02:00
crates Drafts: build with mail-builder so an empty recipient is allowed 2026-06-10 00:53:42 +02:00
migrations Server-side conversation threading (Message-ID graph) — sent replies fold into threads 2026-06-08 21:43:49 +02:00
.env.example Web Push backend pipeline (VAPID, standard Web Push) 2026-06-08 14:38:43 +02:00
.gitignore Initial commit: project vision + ARCHITECTURE.md 2026-06-08 00:23:19 +02:00
ARCHITECTURE.md Scaffold workspace: api healthcheck, core types, dev infra 2026-06-08 00:31:26 +02:00
Cargo.lock Drafts: build with mail-builder so an empty recipient is allowed 2026-06-10 00:53:42 +02:00
Cargo.toml Drafts: build with mail-builder so an empty recipient is allowed 2026-06-10 00:53:42 +02:00
CLAUDE.md Composer rework + Drafts: unified compose/reply/edit dialog, save to IMAP Drafts 2026-06-10 00:26:47 +02:00
docker-compose.yml Scaffold workspace: api healthcheck, core types, dev infra 2026-06-08 00:31:26 +02:00
justfile Scaffold workspace: api healthcheck, core types, dev infra 2026-06-08 00:31:26 +02:00
README.md Initial commit: project vision + ARCHITECTURE.md 2026-06-08 00:23:19 +02:00
rust-toolchain.toml Scaffold workspace: api healthcheck, core types, dev infra 2026-06-08 00:31:26 +02:00

allmail

Self-hosted, web-first email client (FairEmail, but server-side). One account, many connected mailboxes (Stalwart, Gmail, Outlook, any IMAP), synced and stored, browsable per-account or as a unified inbox, with multiple send identities — including a default that replies from the address a mail was received on. Installable as a PWA.

Full Rust, optimized for speed, low memory, and security.

Status: bootstrapping. See ARCHITECTURE.md for the design and the open decisions. No feature code until the architecture is reviewed.

Planned stack

  • Backend: Rust / Tokio — axum, sqlx (Postgres), async-imap, lettre, mail-parser/mail-builder, oauth2, apalis (Redis), dryoc, argon2.
  • Frontend: Leptos (PWA).
  • Deploy: Docker Compose (api, sync-worker, postgres, redis).

Quick start

To be added once the workspace is scaffolded (MVP milestone 2).