MCPSERV.CLUB
Cyrus IMAP

Cyrus IMAP

Self-Hosted

Secure, scalable mail server with multi‑protocol support

Active(97)
608stars
0views
Updated 1 day ago

Overview

Discover what makes Cyrus IMAP powerful

Cyrus IMAP is a high‑performance, enterprise‑grade mail server that exposes the full suite of email, contacts, and calendar protocols (IMAP, POP3, NNTP, JMAP, CalDAV, CardDAV, WebDAV). Unlike consumer‑oriented IMAP daemons that run on user‑visible accounts, Cyrus is designed for “sealed” servers: the mailbox storage lives in protected filesystem directories and all user access is mediated through authenticated protocols. This architecture enables fine‑grained ACLs, per‑hierarchy quotas, and concurrent read/write sessions without locking contention, making it a natural fit for large, multi‑tenant deployments.

Sealed storage model

Concurrent access

ACLs & quotas

Protocol breadth

Overview

Cyrus IMAP is a high‑performance, enterprise‑grade mail server that exposes the full suite of email, contacts, and calendar protocols (IMAP, POP3, NNTP, JMAP, CalDAV, CardDAV, WebDAV). Unlike consumer‑oriented IMAP daemons that run on user‑visible accounts, Cyrus is designed for “sealed” servers: the mailbox storage lives in protected filesystem directories and all user access is mediated through authenticated protocols. This architecture enables fine‑grained ACLs, per‑hierarchy quotas, and concurrent read/write sessions without locking contention, making it a natural fit for large, multi‑tenant deployments.

Key Features

  • Sealed storage model – mailboxes are stored in privileged directories, preventing accidental user tampering and simplifying backup/replication.
  • Concurrent access – multiple IMAP clients can read/write the same mailbox simultaneously, thanks to a lock‑free storage engine.
  • ACLs & quotas – per‑mailbox access control lists and hierarchical quota enforcement.
  • Protocol breadth – native support for IMAP, POP3, NNTP, JMAP, CalDAV, CardDAV, and WebDAV.
  • Sieve filtering – robust server‑side mail routing with a modular plugin system.
  • Security stack – Cyrus SASL integration, TLS termination, and support for SPF/DKIM/Dmarc processing.

Technical Stack

  • Language – Core server written in C, with extensive use of POSIX APIs for file I/O and networking.
  • Storage – A custom binary mailbox format that uses memory‑mapped files for fast random access; optional integration with mmap and posix_fadvise.
  • Authentication – Cyrus SASL framework, supporting plain, login, cram‑md5, DIGEST-MD5, GSSAPI (Kerberos), and external mechanisms.
  • Database – No external DB required; metadata is stored in flat files (.sieve, .quota, ACL tables). Optional LDAP integration for user/alias resolution.
  • Build system – Autoconf/Automake with optional CMake support; OpenSSL for TLS, libzlib for compression.

Deployment & Infrastructure

  • Self‑hosting – Packages exist for every major distribution (Fedora, RHEL, Debian, Ubuntu, openSUSE). The source tree can be built from tarballs or git for custom patches.
  • Scalability – Designed to run on large Linux clusters; supports multi‑CPU cores, high I/O throughput, and can be paired with replication tools (e.g., cyrus-mbox replication daemon).
  • Containerization – Official Docker images are available, but the server’s privileged filesystem layout requires careful volume mapping. Production deployments typically use systemd units with dedicated cyrus user/group.
  • High‑availability – Replication can be achieved via cyrus-mbox’s built‑in replication or external tools like rsync/DRBD; the sealed storage model simplifies failover.

Integration & Extensibility

  • Sieve plugins – Modular filtering actions (fileinto, redirect, notify) that can be extended with custom C modules.
  • JMAP API – Full JSON‑based mailbox access, enabling modern web clients to interact without IMAP.
  • WebDAV & CalDAV/CardDAV – Expose calendar and address book data; integration with tools like davmail or native clients.
  • Hooks – Post‑delivery and pre‑fetch hooks allow custom scripts to run on mail arrival or before client fetch.
  • LDAP/SQL backends – User and alias resolution can be delegated to LDAP or SQL databases via the cyrus-auth module.

Developer Experience

  • Configuration – Declarative cyrus.conf, ACL files, and SASL maps are human‑readable; extensive templated defaults in /etc/cyrus.conf.d.
  • Documentation – Comprehensive HTML docs (doc/html) covering installation, tuning, and API reference; online at cyrusimap.org.
  • Community – Active mailing lists, IRC channel (#cyrus), and GitHub issue tracker; contributors regularly patch performance and security bugs.
  • Testing – CI pipeline with GitHub Actions runs unit tests, integration tests against a mock MTA, and security checks.

Use Cases

  1. University mail systems – Sealed storage protects student data while allowing shared calendars and contacts.
  2. Enterprise IMAP/CalDAV – Centralized mailbox with fine‑grained ACLs for departments and projects.
  3. Email archiving – Efficient, lock‑free storage is ideal for long‑term retention and compliance.
  4. Custom webmail stacks – JMAP support enables modern SPA clients without IMAP emulation.
  5. Hybrid MTA deployments – Acts as a delivery agent for Postfix/Dovecot, providing advanced filtering and anti‑spam hooks.

Advantages Over Alternatives

CriterionCyrusCompetitors (Dovecot, Postfix)
Sealed storage✔︎❌ (user‑visible FS)
Concurrent read/write✔︎❌ (locking overhead)
ACL & quota granularity✔︎Partial
Protocol breadth✔︎ (IMAP, POP3, NNTP, JMAP, CalDAV/CardDAV)Limited
Open source licenseGPL‑2.0GPL‑2.0 / BSD
ScalabilityEnterprise‑grade (10k

Open SourceReady to get started?

Join the community and start self-hosting Cyrus IMAP today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
apis-services
License
NOASSERTION
Stars
608
Technical Specs
Pricing
Open Source
Database
None
Supported OS
Linux
Author
cyrusimap
cyrusimap
Last Updated
1 day ago