Currently I'm just outsourcing my email which has worked great. They've got an outstanding antispam via "MX Logic" gateway scanning. But I've been thinking of dinking around with my own email service for my users, so here goes the question.

I've looked at dbmail, anyone have any experience with it? I like the idea of a db backend, so any feed back would be appreciated.


4 Replies

I've been using dbmail for several years.

My basic architecture right now is:

Postfix –> amavisd-new --> Postfix --> dbmail-lmtpd

With dbmail-imapd and dbmail-pop3d for clients to connect to.

I also run dbmail-timsieved and use the avelsieve plugin for squirrelmail for managing server-side per-user filters.

The biggest challenge you'll run into is that the documentation is a little sparse. The basic setup is pretty easy but dbmail is relatively young and doesn't have a very big installed base (relative to, say, Courier), so more advanced things can get a little hairy. At the same time, its well-thought-out design and seemingly-simplistic nature has made certain things easier to figure out on my own than they might otherwise have been.

Edit: stray bbcode tag slipped in

Does dbmail supports some of the more current functionality such as SSL/TLS? From what I can see that is only supported if proxied through stunnel which means another daemon that has to be running.

What exactly do you want stored in the database? Account credentials can be stored in a DB and accessed by postfix and dovecot with no problem. Mail storage in the DB is another story so unless you need the mail stored in a database then why not just use postfix? Odds are you will probably end up running that on the front end to support spam/virus filtering anyway.

Pesonally, I tend to avoid apps that have very little marketshare because of the typical lack of support.

Postfix and dbmail are different things. Postfix is an SMTP server (an MTA), dbmail, on the other hand, is an MDA and a set of daemons for accessing mail in its backing store. It's much closer to Cyrus or Courier than Postfix. This diagram might help:


Some of the advantages to dbmail and its use of a proper database as a backing store are listed here:


Filesystems are finicky, performance varies wildly across workloads, they may or may not scale, remote access (e.g. NFS) has always had more than its fair share of issues, and filesystems are not built to make what we think of as transactions very easy (witness the recent confusion with ext4's completely-compliant but surprising-to-many-developers metadata behaviour).

A good RDBMS takes care of these issues and more for us. They're specifically built to handle large quantities of related data in a reliable, efficient, and scalable manner, and provide consistent, concurrent access to that data.

Another nice bonus: backups are trivial. Just mysqldump with the –single-transaction and --flush-logs flag and you have a snapshot that's guaranteed to be in a consistent state, and you can copy off mysql's binary logs for incrementals.

ETA: TLS/SSL does have to be run through stunnel, but stunnel is trivial to configure.

Thanks for the feedback, I've just been kinda board of late. I'm off on holiday in a couple of weeks and have been looking for a new project to waste my time. Been looking at starting to mess about with running my own mail server. Between my social site and family sites I run my user base is growing. Thought I'd get back into messing with mail servers, haven't messed with them for a while.

Anyway dbmail, I really like the concept of it ……

I think I'll mess about with it



Please enter an answer

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct