A fast, privacy-focused webmail client with OIDC authentication, JMAP proxy for modern email access, end-to-end encryption, and a clean interface designed for productive communication.
# Connect and send email via JMAP require "koder-mail" client = mail.connect({ server: "https://mail.koder.dev", auth: "oidc", provider: "https://auth.koder.dev" }) # Send encrypted email await client.send({ to: "team@company.com", subject: "Q1 Report — Confidential", body: "Please find the report attached.", attachments: ["./q1-report.pdf"], encrypt: true, # PGP auto-encrypt sign: true }) # Search with advanced filters results = await client.search({ from: "ceo@company.com", hasAttachment: true, after: "2026-01-01" })
Everything you need, built from the ground up.
Built on JMAP (RFC 8620/8621), the modern replacement for IMAP. Push-based sync, efficient bandwidth usage, and instant updates across all clients.
Single sign-on with OpenID Connect. Integrate with your existing identity provider — Keycloak, Auth0, Okta, or any OIDC-compliant provider.
PGP and S/MIME encryption built into the web interface. Encrypt emails with one click, manage keys in-app, and auto-discover recipient keys.
AI-powered email categorization, priority detection, and smart filters. Important emails surface first, newsletters and notifications are organized automatically.
Full-text search across millions of emails in milliseconds. Search by sender, date, attachment type, label, or any combination with advanced query syntax.
Modern email composer with Markdown support, inline images, code blocks with syntax highlighting, templates, and scheduled send.
JMAP proxy that connects to any existing IMAP/SMTP server. Use Koder Mail's modern interface with your current email provider.
Built-in calendar with event invitations, RSVP handling, and free/busy scheduling. CalDAV support for syncing with external calendar apps.
Integrated address book with auto-complete, contact groups, CardDAV sync, and automatic contact creation from email interactions.
Use your own domain with automatic DNS configuration, SPF, DKIM, and DMARC setup. Send and receive from multiple domains and aliases.
Run your own email infrastructure with Koder Mail. Single binary deployment with built-in MTA, spam filtering, and virus scanning.
Responsive PWA that works offline, supports push notifications, and feels native on mobile devices. Install from the browser — no app store required.
Koder Mail uses JMAP, the successor to IMAP designed for the modern web. Push-based updates, efficient sync, and a clean JSON API make email integration a breeze.
# JMAP API — fetch mailboxes and messages session = await fetch("https://mail.koder.dev/.well-known/jmap", { headers: { Authorization: `Bearer $#{token}` } }).then(r => r.json()) response = await fetch(session.apiUrl, { method: "POST", body: JSON.stringify({ using: ["urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail"], methodCalls: [ ["Mailbox/get", { accountId }, "a"], ["Email/query", { accountId, filter: { inMailbox: inboxId }, sort: [{ property: "receivedAt", isAscending: false }], limit: 50 }, "b"] ] }) })
Integrate Koder Mail with your identity provider for secure, passwordless authentication. Users sign in once and access all Koder services.
# Koder Mail OIDC configuration # /etc/koder-mail/config.toml [auth] method = "oidc" [auth.oidc] issuer = "https://auth.company.com/realms/main" client_id = "koder-mail" client_secret = "$#{OIDC_SECRET}" scopes = ["openid", "email", "profile"] auto_create = true # Map OIDC claims to email accounts [auth.oidc.mapping] email = "email" name = "name" groups = "groups"
Don't want to switch email servers? Koder Mail's JMAP proxy connects to any existing IMAP/SMTP server, giving you a modern interface on top of your current infrastructure.
# Connect Koder Mail to existing IMAP server $ koder-mail bridge add \ --name "Company Exchange" \ --imap "imap.company.com:993" \ --smtp "smtp.company.com:587" \ --auth "oauth2" \ --tls "required" Bridge configured. JMAP endpoint available at: https://mail.koder.dev/jmap/company-exchange # Check sync status $ koder-mail bridge status Company Exchange ✓ Connected Mailboxes: 12 synced Messages: 48,291 cached Last sync: 2s ago (push active)
See how Koder Mail stacks up against the competition.
| Feature | Koder Mail | Gmail | Proton Mail | Fastmail | Thunderbird |
|---|---|---|---|---|---|
| JMAP Protocol Support | ✓ | — | — | ✓ | — |
| OIDC Authentication | ✓ | Partial | — | — | — |
| End-to-End Encryption | ✓ | — | ✓ | — | Partial |
| Self-Hostable | ✓ | — | — | — | ✓ |
| IMAP/SMTP Bridge | ✓ | — | ✓ | — | ✓ |
| AI Smart Inbox | ✓ | ✓ | — | — | — |
| Built-in Calendar | ✓ | ✓ | ✓ | ✓ | ✓ |
| Custom Domains | ✓ | Partial | ✓ | ✓ | — |
| Progressive Web App | ✓ | ✓ | ✓ | ✓ | — |
| Open Source | ✓ | — | Partial | — | ✓ |
JMAP (JSON Meta Application Protocol) is the modern replacement for IMAP, standardized as RFC 8620/8621. It uses JSON over HTTP with push-based updates, making email sync faster, more efficient, and easier to implement than the 30-year-old IMAP protocol.
Yes. Koder Mail includes a JMAP proxy that connects to any IMAP/SMTP server — Gmail, Exchange, Dovecot, Postfix, or any other. You get the modern Koder Mail interface while keeping your existing email infrastructure.
Like Proton Mail, Koder Mail offers end-to-end encryption with zero-knowledge architecture. Additionally, Koder Mail supports standard PGP and S/MIME (not just proprietary encryption), interoperates with any PGP-capable client, and is fully self-hostable.
Yes. The self-hosted version includes a complete MTA for sending and receiving email, with built-in SPF, DKIM, DMARC validation, spam filtering (rspamd integration), and virus scanning. You can run a complete email stack from a single binary.
Yes. mail.koder.dev offers managed email with custom domains, 50GB storage, and all features included. Free tier includes 5GB and one custom domain. Pro plan at $4.99/month includes 50GB, unlimited domains, and priority support.
Yes. Koder Mail includes migration tools that import all your emails, folders, labels, contacts, and calendar events from Gmail, Outlook/Exchange, Yahoo Mail, and any IMAP server. Migration preserves dates, read status, and folder structure.
Secure Email, Modern Protocol