DBMail IMAP and POP3 server explained
The DBMail IMAP and POP3 is a fast, scalable IMAP4 and POP3 server that stores all email and users in a Postgresql, MySQL or SQLite database.
How does it work?
DBMail is made up of several components. A normal MTA (Postfix, Sendmail, Qmail, Exim) is used for accepting messages. The MTA hands the messages over DBMail for message delivery using either a pipe interface, or LMTP (Local Mail Transport Protocol). DBMail then takes care of delivering the message into the database. Messages can be retrieved from the database by any common Mail User Agent using the POP3 protocol or IMAP4 protocol.
The whole email is stored in the database, including attachments. The DBMail programs do not have to touch the filesystem to retrieve or insert emails. User information is also stored in the database (or in LDAP), so users do not need an account on the machines DBMail is running on.
DBMail currently supports:
DBMail features full LDAP integration for both user authentication (login/password validation) and for user configuration (mail addresses and mail forwarding). Active Directory is supported.
LDAP is the industry standard for unified user management and authentication, spanning multiple application domains across multiple sites. By integrating DBmail with LDAP, email user and alias management can be performed easily and transparently from within the chosen LDAP user management environment.
The DBMail server supports server-side mail filtering through the implementation of a mail filtering language called Sieve, derived from the Cyrus IMAP implementation. Users can set up and manage complex filtering rules to sort email into folders.
The database driven design gives the server large advantages in scalability, manageability, speed, security and flexibility. Scalability
- DBMail is as scalable as the database system that is used for the mail storage. In theory millions of accounts can be managed using dbmail. One could, for example, run 4 different servers with the pop3 daemon each connecting to the same database (cluster) server. Manageability
- DBMail Administrator (DBMA) - the independently developed Graphic User Interface [GUI] for DBMail, accesses the database (RDBMS) on either a PostgreSQL or MySQL system and provides a scalable, menu-driven interface for administering e-mail; user accounts; global configurations; sending & fetching email and more. Written in PERL, DBMA can be used with Apache HTTP Server, Internet Information Services or any other HTTP Daemon.
- DBMail uses very efficient, database specific queries for retrieving mail information. This is much faster than parsing a filesystem. On PostgreSQL, there should be a further benefit where message bodies are transparently compressed and stored in a side table, with various performance improvements, via the TOAST feature.
- DBMail has got nothing to do with the filesystem or interaction with other programs in the Unix environment which need special permissions. DBMail is as secure as the database it's based upon.
- Changes on a DBMail system (adding of users, changing passwords etc.) are effective immediately.
DBMail was originally designed and built by Eelco van Beek and further developed by IC&S. Early 2005, NFG took over the project.