Open-source email infrastructure: SMTP inbound/submission, IMAP, orchestration, async workers, auth, push notifications, and portable domain export/import.
Project home: midi-email/midemail
- SMTP inbound gateway (
cmd/smtp-inbound) - SMTP submission gateway (
cmd/smtp-submission) - IMAP server (
cmd/imap) - Unified mail worker (
cmd/mail-worker) - Orchestrator (
cmd/orchestrator) - API service (
cmd/api) - Autoconfig/autodiscover service (
cmd/autoconfig) - Migration CLI (
cmd/migrate)
- Mail backend with programmable APIs
- API key first provisioning and operations endpoints
- Forward-only SQL migrations
- Queue-based processing with retries and DLQ
- Domain-level export/import as ZIP with
.eml+ metadata - Multi-cloud object storage providers:
- local filesystem
- S3 / S3-compatible
- Google Cloud Storage
- Azure Blob
- Push notifications:
- FCM
- APNs
- VM binaries
- All-in-one Docker image (
MIDEMAIL_SERVICE=...) - Kubernetes manifests (
deploy/k8s) - Terraform baseline for Linode (
deploy/terraform/linode) - Serverless/container platforms (Cloud Run, Lambda container adapters)
cmd/entrypointsinternal/core services and packagesdatabase/migrations/schemadeploy/k8s/Kubernetes manifestsdeploy/terraform/linode/Linode IaCdocker/image runtime scriptsdocs/documentation
GPL-3.0 (see LICENSE).
- Create org with user auth.
- Create scoped org API key (
POST /orgs/api-keys). - Use
X-API-Key(orAuthorization: ApiKey ...) on/v1/*endpoints.
Provisioning endpoints:
POST /v1/domainsPOST /v1/mailboxesPOST /v1/webhooksPOST /v1/mail/sendPOST /v1/mail/receive
Suggested scopes:
domains:writemailboxes:writewebhooks:writemail.sendmail.receive- or wildcard
admin:*