A single server for mailbox storage, even if it is very powerful, can never scale to the number of mailboxes used in todays large mail systems with millions of mailboxes. So you need some way of distribution the mailboxes over several servers, while access for the client must be transparent.
The POPular POP server suite is one way of solving this problem. It implements a proxying architecture, where all POP access from the client is funneled through a group of proxies which authenticate the user, decide which storage server the mailbox is on and then connect the client with the proper backend server.
The architecture of the POPular server system allows a mail system to scale to practically any size. There is no single point that every mail has to pass or any other bottlenecks. If the number of mailboxes grows beyond what your servers can handle, you can just add more servers and change the configuration a little bit.
The POPular proxy can be configured to accept connections to several IP numbers and/or TCP ports. The authentification function can use the information about the accessed IP number and port to decide which mailbox to access. An example: You can have two IP numbers for one proxy server, one with the name pop.server1.com, the other with the name pop.server2.com. A user with the username 'joe' on one server will be distinguishable from a user with the same name on the other server.
On a typical POP server, about 80% of the accesses are to an empty mailbox. POPular is specially optimized for this case, reducing the load on the storage servers considerably.
On many errors, like failure of a backend server, the proxy will display an empty mailbox to the user, instead of an error message. When doing system maintainance the admin can configure all or a part of the system as 'disabled' and the user, again, sees an empty mailbox. This saves a lot of hassle for the user, the admin and the support staff.
The admin can get detailed information about current connections, current configuration and some counters from the running proxy and server.
The proxy and storage servers are fully configurable at runtime, there is no need to take the proxy down for anything other than software upgrades.
The programs in the POPular server suite will log everything that happens, allowing you to diagnose problems rapidly. The log format is easily parsable to enable you to quickly write scripts for generating statistics or reacting to problems. Several types of debug logging can be enabled and disabled on the fly.
The POPular proxy communicates on the one side with any standard complient POP3 client and on the other side with any standard POP3 server or with a special server included in the POPular suite talking the special XPOP protocol, which is basically a POP3 procotol without the authentication phase.
If the user can't be authenticated the proxy can fall back to any POP3 server. This is a nice feature for migrating to a new system.
The POPular server uses Maildir format only, so there are no locking issues.
Database access and authentication in the proxy is delegated to shared libraries loaded and configured at runtime. This allowes for a very flexible authentication mechanism.
The allowed number of connections can be configured to never overload the server.
Starting in version 1.5.0 POPular supports SSL and TLS. Each virtual server can be configured individually to use SSL/TLS (with or without STARTTLS) and can have it's own key.