DBMail IMAP and POP3 server
Encyclopedia
The DBMail IMAP and POP3 is a fast, scalable IMAP4 and POP3 server that stores all email and users in a Postgresql
PostgreSQL
PostgreSQL, often simply Postgres, is an object-relational database management system available for many platforms including Linux, FreeBSD, Solaris, MS Windows and Mac OS X. It is released under the PostgreSQL License, which is an MIT-style license, and is thus free and open source software...

, MySQL
MySQL
MySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...

 or SQLite
SQLite
SQLite is an ACID-compliant embedded relational database management system contained in a relatively small C programming library. The source code for SQLite is in the public domain and implements most of the SQL standard...

 database.

How does it work?

DBMail is made up of several components. A normal MTA (Postfix
Postfix (software)
In computing, Postfix is a free and open-source mail transfer agent that routes and delivers electronic mail. It is intended as a fast, easier-to-administer, and secure alternative to the widely-used Sendmail MTA....

, Sendmail
Sendmail
Sendmail is a general purpose internetwork email routing facility that supports many kinds of mail-transfer and -delivery methods, including the Simple Mail Transfer Protocol used for email transport over the Internet....

, 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...

, Exim
Exim
Exim is a mail transfer agent used on Unix-like operating systems. Exim is free software distributed under the terms of the GNU General Public License, and it aims to be a general and flexible mailer with extensive facilities for checking incoming e-mail....

) is used for accepting messages. The MTA hands the messages over DBMail for message delivery using either a pipe interface, or LMTP
LMTP
The Local Mail Transfer Protocol is a derivative of ESMTP, the extension of the Simple Mail Transfer Protocol. It is defined in RFC 2033....

 (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.

Database driven

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
Lightweight Directory Access Protocol
The Lightweight Directory Access Protocol is an application protocol for accessing and maintaining distributed directory information services over an Internet Protocol network...

), so users do not need an account on the machines DBMail is running on.

DBMail currently supports:
  • MySQL
    MySQL
    MySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...

  • Postgresql
    PostgreSQL
    PostgreSQL, often simply Postgres, is an object-relational database management system available for many platforms including Linux, FreeBSD, Solaris, MS Windows and Mac OS X. It is released under the PostgreSQL License, which is an MIT-style license, and is thus free and open source software...

  • SQLite
    SQLite
    SQLite is an ACID-compliant embedded relational database management system contained in a relatively small C programming library. The source code for SQLite is in the public domain and implements most of the SQL standard...


LDAP integration

DBMail features full LDAP integration for both user authentication (login/password validation) and for user configuration (mail addresses and mail forwarding). Active Directory
Active Directory
Active Directory is a directory service created by Microsoft for Windows domain networks. It is included in most Windows Server operating systems. Server computers on which Active Directory is running are called domain controllers....

 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.

Sieve filtering

The DBMail 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....

, derived from the Cyrus IMAP implementation. Users can set up and manage complex filtering rules to sort email into folders.

Advantages

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
Apache HTTP Server
The Apache HTTP Server, commonly referred to as Apache , is web server software notable for playing a key role in the initial growth of the World Wide Web. In 2009 it became the first web server software to surpass the 100 million website milestone...

, Internet Information Services
Internet Information Services
Internet Information Services – formerly called Internet Information Server – is a web server application and set of feature extension modules created by Microsoft for use with Microsoft Windows. It is the most used web server after Apache HTTP Server. IIS 7.5 supports HTTP, HTTPS,...

 or any other HTTP Daemon
Httpd
httpd stands for Hypertext Transfer Protocol Daemon .The implied meaning can be:* Apache HTTP Server* Canopy HTTPd HTTP server* CERN HTTPd HTTP server* Lighttpd HTTP server* NCSA HTTPd HTTP server...

.


Speed
DBMail uses very efficient, database specific queries for retrieving mail information. This is much faster than parsing a filesystem. On PostgreSQL
PostgreSQL
PostgreSQL, often simply Postgres, is an object-relational database management system available for many platforms including Linux, FreeBSD, Solaris, MS Windows and Mac OS X. It is released under the PostgreSQL License, which is an MIT-style license, and is thus free and open source software...

, 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.


Security
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.


Flexibility.
Changes on a DBMail system (adding of users, changing passwords etc.) are effective immediately.

Disadvantages

Performance
Even though one can run very fast queries with PostgreSQL or MySQL, that only helps after the mail is already stored in the database. It is widely reported that a DBMail system is much slower in accepting the incoming mails than systems based on Maildir. And while it might be easily scalable, it can lead to serious performance issues when the server has to accept many incoming mails (See this benchmarking for reference).

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK