dbmail
I've looked at dbmail
Cheers
4 Replies
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
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.
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.
Anyway dbmail, I really like the concept of it ……
I think I'll mess about with it
Cheers