DBMail is an open-source project that enables storage of mail messages in a relational database.

Currently MySQL, PostgreSQL and SQLite can be used as storage backends.

Commercial development and support is also available.

What are the advantages?

Scalability
Dbmail is as scalable as the database system used for storage.
Manageability
Dbmail can be managed by updating the relational database or directory service - without shell access.
Speed
Dbmail uses very efficient, database specific queries for retrieving mail information.
Security
Dbmail doesn't require filesystem access. It's as secure as the database and directory server used.
Flexibility.
Changes in a Dbmail system (adding of users, changing passwords etc.) are effective immediately. Users can be stored in the database, or managed separately in an LDAP server such as OpenLDAP or Active Directory.

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 to dbmail-deliver, using a pipe interface, or to dbmail-lmtpd, using LMTP (Local Mail Transport Protocol).

These programs take care of injecting the message into the database. Messages can be retreived from the database using dbmail-pop3d, using the POP3 protocol, or dbmail-imapd, using the IMAP4Rev1 protocol.

Emails are stored in the database. This includes attachments. User information is also stored in the database, so users do not need a system account on machines DBMail is running on.

Components

DBMail Components

Available

DBMail is primarily developed and tested on the GNU Linux and FreeBSD platforms. Users have also reported successfull deployments on OpenSolaris, NetBSD and OSX.

DBMail is released under the GNU Public Licence (version 2).

News

News

2010-06-21

DBMail 2.2.16 released

Paul J Stevens

Hi all,

I've just uploaded dbmail 2.2.16, the latest production release.

Changes:

  • 0000842: [Authentication layer] stack smashing in usermap code
  • [delivery] propagate sub-address into sieve handler
  • [maintenance] fix long-running integrity check query while deleting orphaned physmessages
  • and more small fixes

Changelog

Download

2010-02-13

DBMail 2.2.15 released

Paul J Stevens

Hi all,

I've just uploaded dbmail 2.2.15, the latest production release.

Changes:

  • 0000837: [PIPE delivery (dbmail-smtp/dbmail-deliver)] dbmail-smtp segfault with To field with "unlisted-recipients".
  • 0000835: [POP3 daemon] Segfault after PASS.
  • 0000832: [IMAP daemon] messages marked as read during EXAMINE mailbox.
  • [delivery] Fix inverted to/from headers in native auto-reply.
  • [servers] Add non-detached network mode.

Changelog

Download

2010-01-22

DBMail 2.2.14 released

Paul J Stevens

Greetings,

I've just uploaded dbmail 2.2.14, the latest production release.

Changes:

  • 0000816[Database layer] DEF_QUERYSIZE is currently 1024, causing sieve generated autoresponders to fail (paul) - resolved
  • 0000822[General] Incoming IP addresses missing in syslog (paul) - resolved.
  • 0000827[IMAP daemon] postgresql-8.4.2 Strangeness - resolved.
  • fix native autoreply/autonotify support
  • skip caching of broken 8bit addresses
  • requires gmime > 2.2.10

Changelog

Download

Blog

Pruning the dbmail_headervalue table
2010-02-13
DBMail on twitter
2010-01-19
re-theming dbmail.org
2010-01-07

Recent changes

master branch

wip bug #851
2010-07-24
make clang default compiler
2010-07-24
prevent spinlock in ssl session
2010-07-24

stable branch

massive speedup in imap-append
2010-07-20
update debian po files
2010-07-20
update for asciidocs
2010-06-27