QMail + vpopmail + Courier-IMAP + DSPAM + mySQL + roundCube
Also known as: How I wasted several days of my life
Here's what I wanted: A secure, reliable and resource-efficient
(you'll laugh at this part later) mail system with an effective spam
filter that is easy enough to train that I'll actually use it, and
a nice webmail system. All playing together nicely.
And that's exactly what I got.
Before you start, I should warn you that QMail, vpopmail and my custom
scripts are all very closely tied together. It shouldn't be too hard to
adapt to a different IMAP server, configure this without SQL or DSPAM or
use a different webmail package, but if you're trying to use something
besides QMail and vpopmail, you may as well just stop reading now as
these instructions probably wont help much.
The Materials
- QMail - Despite the fact that I agree with many people
that Dan J. Bernstein is an arrogant ass, I don't see this as a
reason to avoid his excellent products, of which QMail is one of
them, so I'm using QMail.
- vpopmail - A lot of my initial experience with QMail was
from the qmailrocks.org guide,
which uses vpopmail. I've just never had any need to try and find a
replacement, so I used vpopmail.
- Courier-IMAP - Again, this is what I started with and what
has always worked well for me, so I stick with it.
- DSPAM - This is what got this WHOLE THING STARTED. I found
a good review of this somewhere and thought "Hey, that looks pretty good,
I should try it!" and then tried to integrate it into my mail system. -.-
I guess I shouldn't be too annoyed, though, it's definitely been working
well for me.
- mySQL - I always like to pretend I'm setting up a mail
system for a huge user base like an ISP or something. It makes me feel
special. So I configured the whole thing to use mySQL to make it easier
to write my own web-based admin tools.
- roundCube - I love roundCube, it's a fantastic webmail client
and the only free AJAX one I could find last I looked, so it won by default.
- PHP - Don't need Apache or anything, just a command line PHP binary
to run my custom scripts, because I'm awesome and I write everything in PHP.
- FreeBSD - I think Linux is a useless piece of shit and that FreeBSD
is infinitely better. I haven't really tried these instructions on anything
but FreeBSD, so you Linux guys are on your own.
The Glue
All this stuff just didn't magically work together. I ended up writing
a bunch of very poor scripts to integrate DSPAM into the whole mix and make
it nice and user friendly.
I may or may not ever finish this. If you want a copy of the scripts I wrote for doing this, or have any specific questions, feel free to email or call me from the main page of this site and I'll be happy to give you a hand.