My git clone of the Cyrus CVS repository
C Perl M4 Other Yacc TeX Other
Latest commit df1c824 Nov 1, 2016 @brong more restore
Failed to load latest commit information.
backup more restore Nov 1, 2016
cmulocal workaround for MakeMaker's no-op uninstall Jun 27, 2016
com_err/et fix new gcc 6 warnings Aug 19, 2016
contrib move from doc/legacy/ to contrib/ Jun 14, 2016
cunit charset.c: add CHARSET_NO_CANONIFY flag to charset_extract Oct 25, 2016
depot Remove ALL tabs Jun 15, 2015
doc [Doc] Remove doc/internal/database-formats as it is now in main docsrc. Oct 27, 2016
docsrc docs: link up beta4 release notes for release Oct 28, 2016
imap much better intermediate calculation Nov 1, 2016
imtest tls: no ephemeral RSA support in newer OpenSSL Jun 29, 2016
lib sync_batchsize config option and pass channel down Nov 1, 2016
master build: de-onion version strings (no more xversion.h) Oct 31, 2016
netnews Alt Namespace: support Alt Folders and INBOX subfolders May 14, 2016
notifyd Remove ALL tabs Jun 15, 2015
perl [Docs] Update internal RST link paths to match directory structure. Sep 5, 2016
ptclient build: de-onion version strings (no more xversion.h) Oct 31, 2016
sieve rebuild: use error.h Aug 22, 2016
snmp Remove ALL tabs Jun 15, 2015
timsieved tls.c, etc: allow tls_init_serverengine() to optionally allow the SSL… Jul 28, 2016
tools build: de-onion version strings (no more xversion.h) Oct 31, 2016
.gitattributes [Docs] Normalising line endings for docs to lf (unix), removing crlf Apr 19, 2016
.gitignore build: de-onion version strings (no more xversion.h) Oct 31, 2016 Add to enforce indent behaviour Feb 17, 2011
COPYING [Docs] Unifying all the various README information into Aug 9, 2016 build: de-onion version strings (no more xversion.h) Oct 31, 2016 docs: improve documentation for (re)building documentation Aug 12, 2016
SMakefile removes outdated references to --with-auth configure option Jul 17, 2015 allow http_tzdist.c and jmapical.c to compile with libical 0.48 Oct 31, 2016 Add pkg-config support for libcyrus and libcyrus_min Jun 20, 2012 Add pkg-config support for libcyrus and libcyrus_min Jun 20, 2012 Bug #3711 - detect broken Apple compile_et Feb 21, 2013


This is the Cyrus IMAP Server, version series 3.0.x.

No further development work will progress on anything older than version 2.3. Versions 2.3 and 2.4 still receive security updates, but new features or non-security bugfixes are unlikely to be backported. Version 2.5 still receives security updates and non-security bugfixes. Version 3.0 is under active development.

What is Cyrus

Cyrus is an IMAP server, where IMAP (Internet Message Access Protocol) is a protocol for accessing mail.

The Cyrus IMAP server differs from other IMAP server implementations in that it is generally intended to be run on "sealed" servers, where normal users are not permitted to log in. The mailbox database is stored in parts of the filesystem that are private to the Cyrus IMAP system. All user access to mail is through the IMAP, NNTP, or POP3 protocols.

The private mailbox database design gives the server large advantages in efficiency, scalability, and administrability. Multiple concurrent read/write connections to the same mailbox are permitted. The server supports access control lists on mailboxes and storage quotas on mailbox hierarchies.

Cyrus goals

To be the best open source secure, scalable mail server, providing breadth and depth of functionality across email, contacts, calendar and related messaging services!

How to get Cyrus

Cyrus comes in three flavours:

  1. Our release source tarballs from
    • Recommended for most users.
    • These are packaged by the Cyrus team.
    • The docs are pre-built for you in doc/html.
    • They're definitively tagged to a particular release version with up to date release notes.
  2. Raw source from
    • Use this if you need a version of Cyrus that contains an unreleased patch/fix/feature.
    • These bundles require a lot more dependencies to build than a packaged tarball.
  3. Operating System distribution packages.
    • Cyrus IMAP packages are shipped with every major distribution, including but not limited to Fedora, Red Hat Enterprise Linux, CentOS, Scientific Linux, Debian, Ubuntu, openSUSE, Gentoo, Mageia and ClearOS.
    • Please be aware that we don't maintain these packages and as such, some distributions are out of date.
    • If you run into problems with a packed distribution, please contact the source of the distribution.

How to install Cyrus from packaged releases

Please be sure to read the documentation. The latest version is online at, but the version current for this distribution can be found in the doc/ subdirectory.

For Cyrus tarball releases, the basic installation instructions are:

$ ./configure
$ make
$ sudo make install

For more detailed instructions see: doc/html/imap/

How to install Cyrus from git source

The Cyrus source is available at:

The latest development code is on the branch called 'master', and the latest code destined for the stable release is on the branch 'cyrus-imapd-$major.$minor'. So the current stable release is called cyrus-imapd-2.5

Unlike releases, the git repository doesn't have a pre-built ./configure script. You need to generate it with autoreconf:

$ autoreconf -i
$ ./configure
$ make
$ sudo make install

If you need to build a local copy of the docs current to the version of the code, these need to be built: see doc/

Read through doc/html/imap/developer.html for more detailed instructions on building and contributing. The latest version is online at

Are you upgrading?

Read doc/legacy/install-upgrade.html

Think you've found a bug or have a new feature?

Fantastic! We'd love to hear about it, especially if you have a patch to contribute.

The best way to make contributions to the project is to fork it on github, make your changes on your fork, and then send a pull request.

Check for any outstanding bugs. Old bugs can be found at

Our guide at has all the information about how to contact us and how best to get your change accepted.

Licensing Information

See the COPYING file in this distribution.

Contact us

Whether you have a success story to share, or a bug to file, or a request for help or a feature to add or some documentation to contribute or you'd just like to say hi, we want to hear from you! See for various ways you can get hold of us.