Cyrus IMAP server
Encyclopedia
The Cyrus IMAP server differs from other IMAP server implementations in that it is generally intended to be run on sealed server
s, where normal users cannot 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, said to have improved performance and scalability to Maildir, resides 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 considerable 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.
exclusively used the locally-developed and non-standard Andrew Messaging System (AMS) for its email communication needs. Originally written in the early 1980s as part of the Andrew Project
, it was very advanced for its day. However, it had major scalability issues. Carnegie Mellon wanted to move to a standards-compliant mail system that met or exceeded the feature set of AMS, and with an emphasis on disconnected operation and scalability (scalability both in simultaneous online accesses and in large mailboxes).
The Cyrus Project was started by the Computing Services Division at Carnegie Mellon in 1994 to attempt to meet these goals. The following documents that date from that era describe the original goals of the project (they may be dated somewhat):
Carnegie Mellon placed all of its incoming freshmen
on the Cyrus server for the first time in 1998 (class of 2002). In December 2001, bboard access (which had been being mirrored from AMS to Cyrus), cut over to Cyrus completely. AMS was finally phased out in May 2002.
As development on the project progressed, it became clear that users required further scalability and additional reliability beyond that which a single-machine configuration could provide. To meet these goals, the Cyrus "Murder" clustering solution was developed again by the Computing Services Division, and after several revisions it was deployed to Carnegie Mellon in the summer of 2002.
Sealed server
A sealed server is a server which is designed to run without users logging in. This setup has several potential benefits over a traditional server:...
s, where normal users cannot log in. The mail spool uses a filesystem layout and format similar to the Maildir
Maildir
The Maildir e-mail format is a common way of storing e-mail messages, where each message is kept in a separate file with a unique name, and each folder is a directory...
format used by other popular email
Email
Electronic mail, commonly known as email or e-mail, is a method of exchanging digital messages from an author to one or more recipients. Modern email operates across the Internet or other computer networks. Some early email systems required that the author and the recipient both be online at the...
servers such as qmail
Qmail
qmail is a mail transfer agent that runs on Unix. It was written, starting December 1995, by Daniel J. Bernstein as a more secure replacement for the popular Sendmail program...
, Courier
Courier Mail Server
The Courier mail server is a mail transfer agent server that provides ESMTP, IMAP, POP3, SMAP, webmail, and mailing list services with individual components. It is best known for its IMAP server component....
, Dovecot
Dovecot (software)
Dovecot is an open source IMAP and POP3 server for Linux/UNIX-like systems, written primarily with security in mind. Developed by Timo Sirainen, Dovecot was first released in July 2002...
, etc. Cyrus IMAP's spool format, said to have improved performance and scalability to Maildir, resides 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
Kerberized Post Office Protocol
In computing, local e-mail clients can use the Kerberized Post Office Protocol , an application-layer Internet standard protocol, to retrieve e-mail from a remote server over a TCP/IP connection. The KPOP protocol is based on the POP3 protocol with the differences that it adds Kerberos security...
protocols.
The Cyrus IMAP server supports server-side mail filtering through the implementation of a mail filtering language called Sieve
Sieve (mail filtering language)
Sieve is a programming language that can be used to create filters for email. It owes its creation to the CMU Cyrus Project, creators of Cyrus IMAP server....
.
The private mailbox database design gives the server considerable advantages in efficiency
Algorithmic efficiency
In computer science, efficiency is used to describe properties of an algorithm relating to how much of various types of resources it consumes. Algorithmic efficiency can be thought of as analogous to engineering productivity for a repeating or continuous process, where the goal is to reduce...
, scalability
Scalability
In electronics scalability is the ability of a system, network, or process, to handle growing amount of work in a graceful manner or its ability to be enlarged to accommodate that growth...
, 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 UniversityCarnegie Mellon University
Carnegie Mellon University is a private research university in Pittsburgh, Pennsylvania, United States....
exclusively used the locally-developed and non-standard Andrew Messaging System (AMS) for its email communication needs. Originally written in the early 1980s as part of the Andrew Project
Andrew Project
The Andrew Project was a distributed computing environment developed at Carnegie Mellon University beginning in 1982. It was an ambitious project for its time and resulted in an unprecedentedly vast and accessible university computing infrastructure....
, it was very advanced for its day. However, it had major scalability issues. Carnegie Mellon wanted to move to a standards-compliant mail system that met or exceeded the feature set of AMS, and with an emphasis on disconnected operation and scalability (scalability both in simultaneous online accesses and in large mailboxes).
The Cyrus Project was started by the Computing Services Division at Carnegie Mellon in 1994 to attempt to meet these goals. The following documents that date from that era describe the original goals of the project (they may be dated somewhat):
Carnegie Mellon placed all of its incoming freshmen
Freshman
A freshman or fresher is a first-year student in secondary school, high school, or college. The term first year can also be used as a noun, to describe the students themselves A freshman (US) or fresher (UK, India) (or sometimes fish, freshie, fresher; slang plural frosh or freshmeat) is a...
on the Cyrus server for the first time in 1998 (class of 2002). In December 2001, bboard access (which had been being mirrored from AMS to Cyrus), cut over to Cyrus completely. AMS was finally phased out in May 2002.
As development on the project progressed, it became clear that users required further scalability and additional reliability beyond that which a single-machine configuration could provide. To meet these goals, the Cyrus "Murder" clustering solution was developed again by the Computing Services Division, and after several revisions it was deployed to Carnegie Mellon in the summer of 2002.