Self-hosted mail server for your own domain, with SMTP/IMAP/POP3, CardDAV/CalDAV, a React webmail and admin console, deployed via Docker Compose.
stalwartlabs/stalwart
Self-hostable all-in-one mail and collaboration server in Rust, supporting IMAP, JMAP, POP3, SMTP, CalDAV, CardDAV and WebDAV.
Open-source alternative to:Microsoft Exchange
Google Workspace
- Stars
- 15,198
- Forks
- 1,000
- Open issues
- 55
- Last commit
- 24 hours ago
What is it?
Stalwart is a mail and collaboration server that bundles email, calendars, contacts and file storage into one self-hosted service. It implements IMAP4, POP3, JMAP for Mail, SMTP, CalDAV, CardDAV and WebDAV, so standard clients and devices can connect without custom plugins.
On the mail side, it includes SMTP with DMARC, DKIM, SPF and ARC authentication, DANE and MTA-STS transport security, and automated DKIM key rotation. A built-in spam and phishing filter combines DNS blocklists, a statistical classifier, greylisting and reputation tracking. Storage can use RocksDB, PostgreSQL, SQLite, S3-compatible object stores and other backends, and clustering is supported through peer-to-peer coordination or Kafka, NATS and Redis.
The project also provides a web administration interface for accounts, domains, mailing lists, queues and logs, plus authentication via LDAP, OIDC and SCIM. It is dual-licensed under AGPL-3.0 and a proprietary enterprise license.
Key features
- 01Serves IMAP4rev2, POP3, JMAP and SMTP for mail access and delivery.
- 02Provides CalDAV, CardDAV, WebDAV and JMAP extensions for calendars, contacts and files.
- 03Authenticates outgoing and incoming mail with DKIM, SPF, DMARC and ARC.
- 04Filters spam and phishing with DNS blocklists, a Bayesian-style classifier and greylisting.
- 05Supports multiple storage backends including PostgreSQL, SQLite, RocksDB and S3-compatible storage.
- 06Includes a web admin interface for accounts, queues, and DMARC/TLS report viewing.
Use cases
- Hosting a private or organizational mail server with standard client support.
- Replacing a hosted mail and calendar service with a self-managed alternative.
- Running a clustered mail deployment on Kubernetes or Docker with shared storage.
- Adding a spam filter and DMARC reporting to an existing domain's mail flow.
Quick start
- 1
Install Stalwart on your platform by following the official Get Started guide (Linux, macOS, FreeBSD, Windows or Docker)
- 2
Read the documentation at stalw.art/docs to configure the server
Things to know
- The README describes Stalwart as feature complete but not yet at version 1.0, with the database schema still being finalized.
- Pull requests are restricted to vouched contributors, and only bug fixes and translations are currently accepted.
- Dual-licensed under AGPL-3.0 and a proprietary Enterprise License (SELv2), so some features and commercial use may require the enterprise terms.
Topics
FAQ
- What is stalwart?
- Self-hostable all-in-one mail and collaboration server in Rust, supporting IMAP, JMAP, POP3, SMTP, CalDAV, CardDAV and WebDAV. Stalwart is a mail and collaboration server that bundles email, calendars, contacts and file storage into one self-hosted service. It implements IMAP4, POP3, JMAP for Mail, SMTP, CalDAV, CardDAV and WebDAV, so standard clients and devices can connect without custom plugins.
- Is stalwart free to use? What license does it have?
- stalwart has no declared license. Its code is public, but without a license you have no explicit permission to reuse it; ask the author before relying on it.
- Is stalwart still maintained?
- Actively maintained. The last commit to stalwart was on Oct 20, 2026.
- What can I use stalwart for?
- Hosting a private or organizational mail server with standard client support. Replacing a hosted mail and calendar service with a self-managed alternative. Running a clustered mail deployment on Kubernetes or Docker with shared storage. Adding a spam filter and DMARC reporting to an existing domain's mail flow.
- How do I install stalwart?
- Install Stalwart on your platform by following the official Get Started guide (Linux, macOS, FreeBSD, Windows or Docker) Read the documentation at stalw.art/docs to configure the server
- Where can I get stalwart?
- The source code and installation instructions are on GitHub: https://github.com/stalwartlabs/stalwart
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A single-file, self-hosted private email server with SMTP, POP3 and IMAP support plus a web mail management interface for your own domain.
Self-hosted newsletter and mailing list manager shipped as a single Go binary, backed by PostgreSQL.
A fast, open source desktop email client for Mac, Windows and Linux, built with Electron and a local C++ sync engine.
A self-hosted, web-based file manager that connects to many storage backends such as SFTP, S3, SMB, WebDAV and FTP through a plugin architecture.
A self-hostable email service built on Cloudflare Workers, letting you create multiple mailboxes under one domain with sending, attachments and a responsive web UI.