Cyrus IMAP server
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 mail spool uses a filesystem layout and format similar to the Maildir format used by other popular email servers such as qmail, Courier, Dovecot, etc. Cyrus IMAP's spool format is said to have improved performance and scalability to Maildir, and is stored in parts of the filesystem that are private to the Cyrus IMAP system. Users can access mail through the IMAP/IMAP-S, POP3/POP3-S or KPOP protocols.
The Cyrus IMAP server supports server-side mail filtering through the implementation of a mail filtering language called Sieve.
The private mailbox database design gives the server large advantages in efficiency, scalability, and administratability. 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.
History
Prior to 1994, Carnegie Mellon University exclusively used the locally-developed and non-standard Andrew Messaging System (AMS) for its email communication needs. Originally written in the early 80s as part of the Andrew Project, it was very advanced for its day. However, it had major scalability issues. It was also desired to move to a standards compliant mail system that met or exceeded the feature set of AMS with an emphasis on disconnected operation and scalability. Scalability was sought both in simultaneous online accesses and large mailboxes.
The Cyrus Project was started at Carnegie Mellon in 1994 to attempt to meet these goals. The following are some documents that date from that era and describe the original goals of the project. As such they may be somewhat out of date.
The first year that all of Carnegie Mellon's incoming freshmen were placed on the Cyrus server was 1998 (class of 2002). In December 2001, bboard access (which had been being mirrored from AMS to Cyrus), was cut over to Cyrus completely. AMS was finally phased out in May 2002.
As development on the project progressed, it became clear that further scalability was required, and additional reliability was desired beyond that which would be provided from a single machine configuration. To meet these goals, the Cyrus "Murder" clustering solution was developed, and after several revisions it was deployed to Carnegie Mellon in the summer of 2002.
References
- Rob Siemborski (2003-07-24). "Cyrus History". Retrieved 2007-01-13. - Copied with permission.