-- William Gibson, All Tomorrow's Parties
I wrote a little script to generate a postfix-style virtual table file (as opposed to the Sendmail-style/alias I had been using) yesterday (and had a couple problems with hash assignments... note that list and hash context? Yeah. Important!) and I assume his interest piqued Eric installed Postfix and a random front-end he found to play around with Postfix.
Three (going on four) years ago I wrote this horrible front-end for administering Postfix, Apache and FrontPage (on Apache! guh!) in PHP, feeding into a MySQL backend, with a scary, scary (my first big) Perl script to generate the flatfiles. It's pretty horrible. The high5 postfixadmin app blows it out of the water (considering the simplicity there, that should describe how scary my app is).
(I tried several times to re-write the scary "web panel" app, in PHP, but it never went anywhere because -- in my opinion -- writing big applications in PHP is just too annoying. Writing it in Perl with CGI::Application, Class::DBI and the Template Toolkit would be almost trivial, though.)
That front-end also comes with a HOW-TO, which details installing Postfix+MySQL+IMAP. Decent howto, it looks like. Postfix+IMAP is sort of old hand to me now, though I still view the whole thing as being slightly magickal, though that's entirely due to the eight thousand ways to do auth for the POP/IMAP daemon. Not deep voodoo, just kind of obnoxious, I think.
(The whole high5.net project seems to be pretty cool, in fact.)
Not sure how I feel about throwing my virtual tables into a relational database. The lookups overhead would, I think, tax the machine unduly (though I sort of suspect that Postfix is smart enough to do caching -- I haven't really looked into it, but Postfix hasn't even done anything that made me think it was in any way stupid). The current mailserver at work gets hit enough (what with the spam processing) to skew the clock without ntpd running (this didn't use to happen when the machine was a webserver).
The reason I installed OpenBSD on that Sparc, in fact, was to be a backup mailserver while I reinstalled our current mailserver at work, which is a three-year-old mess. It's sort of amazing the things you can learn about processes, automation, programming, and systems in three years.
The most important thing I've learned, though, is how much there is still to learn...