Built in Koder Lang

Meet Mail

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"
})

Features

Everything you need, built from the ground up.

JMAP Protocol Support

Built on JMAP (RFC 8620/8621), the modern replacement for IMAP. Push-based sync, efficient bandwidth usage, and instant updates across all clients.

OIDC Authentication

Single sign-on with OpenID Connect. Integrate with your existing identity provider — Keycloak, Auth0, Okta, or any OIDC-compliant provider.

End-to-End Encryption

PGP and S/MIME encryption built into the web interface. Encrypt emails with one click, manage keys in-app, and auto-discover recipient keys.

Smart Inbox

AI-powered email categorization, priority detection, and smart filters. Important emails surface first, newsletters and notifications are organized automatically.

🔒
Lightning-Fast Search

Full-text search across millions of emails in milliseconds. Search by sender, date, attachment type, label, or any combination with advanced query syntax.

Rich Text Composer

Modern email composer with Markdown support, inline images, code blocks with syntax highlighting, templates, and scheduled send.

💾
IMAP/SMTP Bridge

JMAP proxy that connects to any existing IMAP/SMTP server. Use Koder Mail's modern interface with your current email provider.

📈
Calendar Integration

Built-in calendar with event invitations, RSVP handling, and free/busy scheduling. CalDAV support for syncing with external calendar apps.

💻
Contacts Management

Integrated address book with auto-complete, contact groups, CardDAV sync, and automatic contact creation from email interactions.

📦
Custom Domains

Use your own domain with automatic DNS configuration, SPF, DKIM, and DMARC setup. Send and receive from multiple domains and aliases.

🌐
Self-Hostable

Run your own email infrastructure with Koder Mail. Single binary deployment with built-in MTA, spam filtering, and virus scanning.

🛠
Mobile Progressive Web App

Responsive PWA that works offline, supports push notifications, and feels native on mobile devices. Install from the browser — no app store required.

JMAP: The Modern Email Protocol

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.

  • Push notifications instead of polling — instant updates
  • Efficient delta sync transfers only changes
  • JSON over HTTP — no binary protocol complexity
  • Full spec compliance (RFC 8620, 8621)
# 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"]
    ]
  })
})

OIDC Single Sign-On

Integrate Koder Mail with your identity provider for secure, passwordless authentication. Users sign in once and access all Koder services.

  • Compatible with any OIDC provider (Keycloak, Auth0, Okta)
  • Automatic user provisioning from identity directory
  • MFA enforcement through your identity provider
  • Session management with configurable timeouts
# 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"

IMAP Bridge: Use Any Backend

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 to Gmail, Exchange, Dovecot, or any IMAP server
  • JMAP translation layer for modern client access
  • Local caching for offline access and fast search
  • Gradual migration path — no big bang cutover
# 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)

How It Compares

See how Koder Mail stacks up against the competition.

FeatureKoder MailGmailProton MailFastmailThunderbird
JMAP Protocol Support
OIDC AuthenticationPartial
End-to-End EncryptionPartial
Self-Hostable
IMAP/SMTP Bridge
AI Smart Inbox
Built-in Calendar
Custom DomainsPartial
Progressive Web App
Open SourcePartial

Frequently Asked Questions

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.

Ready to get started?

Secure Email, Modern Protocol