Email continues to be one of the most popular services used on the Internet. UUNET reports that ``Email comprises the bulk of network traffic and has increased an average of 20 percent a year'' [Sen98]. Email using the Simple Mail Transfer Protocol, SMTP for incoming mail and Post-Office Protocol 3, POP3 or Internet Messaging Access Protocol, IMAP for mail retrieval is inherently I/O bound, as very little processing is done to messages. Typically the role of a mail server is to take a message off the network and write it to disk, later reversing the process. This places great contention on the file systems where messages are stored and relief from a PC hardware industry driven by CPU intensive applications is scarce.
There comes a point for service providers where, for price and performance reasons, upgrading the mail server where users' mail is stored is no longer practical and multiple mail servers need to be deployed. This poses several interesting problems in providing a homogeneous view of the mail service to end users across multiple chassis.
This paper will examine building a multi-host mail system to store email for users primarily in a single domain. This is opposed to a high capacity mail system designed to distribute messages to a large number of users in a mailing list environment, an entirely different problem. The solution developed will be designed to utilise existing technologies and protocols to provide a simple, scalable solution. The fundamental philosophy behind this solution is to multiplex incoming email messages and requests from users to retrieve email across multiple servers.