✉ Email Infrastructure Engine

Meet Raven

Multi-tenant email platform that handles domain provisioning, mailbox lifecycle, routing, and administration. Build whitelabel email products on top of a single, battle-tested engine.

provision.sh
# Provision a new tenant domain
curl -X POST https://raven.koder.dev/v1/domains \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
    "domain": "acme.com",
    "tenant_id": "acme",
    "plan": "business",
    "mailboxes": [
      {"local": "hello", "display": "ACME Support"},
      {"local": "ceo",   "display": "Jane Doe"}
    ]
  }'

# Response
{
  "domain": "acme.com",
  "status": "pending_verification",
  "dns_records": [
    {"type": "MX",  "value": "mx.raven.koder.dev"},
    {"type": "TXT", "value": "raven-verify=a8f3..."}
  ],
  "mailboxes_created": 2
}

Everything You Need to Run Email

From a single mailbox to thousands of tenants, Raven scales with your business.

🌐

Domain Provisioning

Register domains, generate DNS records (MX, SPF, DKIM, DMARC), and verify ownership — all via API. Zero manual DNS configuration for your customers.

📧

Mailbox Lifecycle

Create, suspend, reactivate, and delete mailboxes programmatically. Set quotas, aliases, and forwarding rules per mailbox or per domain.

🔒

Multi-Tenant Isolation

Each tenant gets isolated storage, routing, and credentials. Data never leaks between tenants, even on shared infrastructure.

📈

Usage Metering

Track storage, bandwidth, and message volume per tenant. Export metrics to your billing system or use built-in usage alerts.

🎨

Whitelabel Branding

Each tenant can customize login pages, email signatures, and webmail themes. Your customers see their brand, not yours.

🔌

Admin API

REST and gRPC endpoints for every operation. Integrate Raven into your existing dashboard, CLI, or automation pipeline.

Simple API, Powerful Results

Every email operation is an API call away.

Manage Mailboxes

Full CRUD for mailboxes with quota enforcement, alias support, and auto-provisioning from your user database.

  • Create mailboxes on user signup
  • Set per-mailbox storage quotas
  • Configure aliases and forwarding
  • Suspend on billing failure
mailbox.go
import "koder.dev/raven/sdk"

client := raven.NewClient("https://raven.koder.dev")

// Create a mailbox
mb, _ := client.CreateMailbox(ctx, &raven.Mailbox{
    TenantID: "acme",
    Local:    "jane",
    Domain:   "acme.com",
    Display:  "Jane Doe",
    QuotaMB:  5120,
})

// Suspend on billing failure
client.SuspendMailbox(ctx, mb.ID)

DNS Verification

Raven generates the required DNS records and polls for verification automatically. Your customers paste the records, Raven does the rest.

  • Auto-generate MX, SPF, DKIM, DMARC
  • Background polling for DNS propagation
  • Webhook on verification success
  • Detailed diagnostics on failure
verify.sh
# Check domain verification status
curl https://raven.koder.dev/v1/domains/acme.com/status

{
  "domain": "acme.com",
  "verified": true,
  "checks": {
    "mx":    "pass",
    "spf":   "pass",
    "dkim":  "pass",
    "dmarc": "pass"
  },
  "verified_at": "2026-04-12T18:30:00Z"
}

Architecture

Raven orchestrates the mail stack so your product doesn't have to.

┌──────────────────────────────────────────────────┐
│                  Your Product                     │
│          (Kmail, custom app, SaaS)                │
└────────────────────┬─────────────────────────────┘
                     │ REST / gRPC
┌────────────────────▼─────────────────────────────┐
│                    Raven                          │
│  ┌──────────┐ ┌──────────┐ ┌───────────────────┐ │
│  │ Domain   │ │ Mailbox  │ │ Tenant            │ │
│  │ Service  │ │ Service  │ │ Manager           │ │
│  └────┬─────┘ └────┬─────┘ └────────┬──────────┘ │
│       │            │                │             │
│  ┌────▼────────────▼────────────────▼──────────┐  │
│  │              kdb (storage)                  │  │
│  └─────────────────────────────────────────────┘  │
└────────────────────┬─────────────────────────────┘
                     │ JMAP / SMTP
┌────────────────────▼─────────────────────────────┐
│               Stalwart (MTA/MDA)                  │
│          SMTP + JMAP + IMAP + ManageSieve         │
└──────────────────────────────────────────────────┘

How It Compares

Raven vs common email infrastructure approaches.

FeatureRavenPostalMailcowPostfix + Dovecot
Multi-tenant isolation
Domain provisioning API
Mailbox lifecycle API
Usage metering
Whitelabel branding
JMAP support
gRPC + REST API
Zero Docker dependency
Billing hooks

Ready to Build on Raven?

Ship your email product in days, not months.

Read the Docs