MCPSERV.CLUB
Maddy Mail Server

Maddy Mail Server

Self-Hosted

All‑in‑one, composable mail server in a single daemon

Stale(60)
5.7kstars
0views
Updated Mar 9, 2025

Overview

Discover what makes Maddy Mail Server powerful

Maddy Mail Server is a **single‑daemon** solution that consolidates the traditional mail stack—SMTP relay, SMTP submission, MX handling, IMAP access, and essential security protocols (DKIM, SPF, DMARC, DANE, MTA‑STS)—into one uniformly configured process. By replacing Postfix, Dovecot, OpenDKIM, OpenSPF, and OpenDMARC with a single binary, it drastically reduces operational overhead while preserving full RFC compliance. The core goal is composability: developers can mix and match modules, adjust pipelines, or extend functionality without juggling multiple daemons.

Unified SMTP/LMTP Pipeline

Integrated Security Checks

IMAP Access

Metrics & Telemetry

Overview

Maddy Mail Server is a single‑daemon solution that consolidates the traditional mail stack—SMTP relay, SMTP submission, MX handling, IMAP access, and essential security protocols (DKIM, SPF, DMARC, DANE, MTA‑STS)—into one uniformly configured process. By replacing Postfix, Dovecot, OpenDKIM, OpenSPF, and OpenDMARC with a single binary, it drastically reduces operational overhead while preserving full RFC compliance. The core goal is composability: developers can mix and match modules, adjust pipelines, or extend functionality without juggling multiple daemons.

Technical Stack

Maddy is written in Go (Golang), leveraging its strong concurrency model and static binaries for portability. The daemon exposes a plugin architecture where each protocol or feature (SMTP, LMTP, IMAP, DKIM, SPF, DMARC, DANE, MTA‑STS) is implemented as a first‑class module. Configuration is declarative and structured in TOML/YAML, allowing fine‑grained control over routing pipelines, target backends, and security checks. For storage, Maddy supports SQL‑indexed backends (PostgreSQL/MySQL) and a lightweight filesystem or Amazon S3 blob store for message bodies, with an IMAP filter layer that is still in beta.

Core Capabilities

  • Unified SMTP/LMTP Pipeline: Developers can define complex routing logic, including local queueing, remote MX delivery, or transparent forwarding, all within a single configuration file.
  • Integrated Security Checks: DKIM signing/verification, SPF evaluation, DMARC enforcement, DANE TLSA validation, and MTA‑STS policy handling are available as pluggable checks in the delivery pipeline.
  • IMAP Access: A beta IMAP server provides mailbox access; developers can hook custom filters or index extensions.
  • Metrics & Telemetry: OpenMetrics endpoints expose Prometheus‑compatible metrics for queue depth, delivery latency, and security check results.
  • ACME Automation: Automatic TLS certificate retrieval via Let's Encrypt or other ACME providers is built‑in, simplifying secure deployment.
  • Webhooks & API: While primarily a daemon, Maddy can expose HTTP endpoints for status checks or custom integration hooks.

Deployment & Infrastructure

Maddy is designed for containerized environments (Docker, Kubernetes) but also runs natively on any Linux host. A single binary plus a configuration directory is sufficient; no external dependencies are required beyond the chosen storage backend. For scaling, developers can run multiple instances behind a load balancer or use clustering patterns with shared storage (e.g., S3) for message persistence. The Go runtime’s low memory footprint and efficient goroutine scheduling make it suitable for high‑throughput scenarios.

Integration & Extensibility

The plugin system allows developers to write custom modules in Go that hook into the SMTP/IMAP pipelines. Existing community plugins (e.g., milter‑c for Milter integration) can be dropped in. The configuration syntax supports conditional logic and environment variables, enabling dynamic routing based on headers or domain rules. Maddy’s telemetry endpoints can be consumed by external monitoring tools, and its HTTP status page offers hooks for CI/CD health checks.

Developer Experience

Configuration is declarative and version‑controlled, with comprehensive documentation that covers every directive, module, and use case. The project maintains an active IRC channel and mailing list for rapid support, while a robust issue tracker ensures transparency. The single‑binary approach eliminates inter‑process communication complexities, making debugging and profiling straightforward with Go’s tooling.

Use Cases

  • Enterprise Mail Gateway: Replace a Postfix/Dovecot stack with Maddy to reduce maintenance overhead while retaining full security compliance.
  • Self‑Hosted Personal Mail Server: Deploy a lightweight, secure mail solution on a Raspberry Pi or VPS with minimal configuration.
  • DevOps Testing Environments: Spin up containerized instances for integration testing of email workflows, leveraging the built‑in telemetry and ACME.
  • Custom Email Appliances: Build a specialized mail router that applies domain‑specific policies, spam filtering, or custom routing logic without juggling multiple daemons.

Advantages

  • Performance: Go’s concurrency model and static binaries yield low latency and high throughput, especially under heavy SMTP load.
  • Simplicity: One configuration file and one process reduce operational complexity, ideal for teams that prefer minimalistic infrastructure.
  • Licensing: Open source under a permissive license, allowing commercial use without licensing fees.
  • Extensibility: The plugin architecture and declarative routing enable rapid feature addition without touching core code.
  • Security: Built‑in, up‑to‑date implementations of DKIM, SPF, DMARC, DANE, and MTA‑STS reduce the attack surface compared to piecemeal stacks.

Maddy Mail Server offers developers a modern, composable alternative to legacy mail stacks, combining robust security, high performance, and developer‑friendly extensibility in a single, easy‑to‑deploy daemon.

Open SourceReady to get started?

Join the community and start self-hosting Maddy Mail Server today