On Mon, 10 Nov 2008, Matthias-Christian Ott wrote:
it's not quite clear to me how this would work with bogofilter as a mailbox_transport - bogofilter isn't designed to do final delivery.
It's also not quite clear to me why people would use procmail. Although defended by its maintainers, it's an unusable and unconfigurable piece of software from ancient past -- getting error handling right in procmail is next to impossible, requires forfeiting :e rules and bloating procmailrc with explicit error handling recipes.
If you haven't puked today, just look at their source code and programming style. I think the configuration and exit code handling is not the worst problem in this software.
I know that I don't want to read that code. It looks like something in between a "dirty C tricks to squeeze the final cycle from compilers that predate even peephole optimization" and a submission to obfuscated C contest. User interface? Fallthrough behaviour on delivery errors? Nevermind how randomly mail is spread across your mailboxen :-)
If you want something and Dovecot's deliver doesn't fit your needs, consider maildrop, http://www.courier-mta.org/maildrop/
Looks a bit bloated to me.
Nevermind the bloated build, it works like a charm and has a rather concise source (if you read a bit of C++, that is).
Bogofilter has an "integrating-with-postfix" document in the doc/ directory that shows how to use Postfix's content_filter and does not need procmail. Unfortunately, it does not show how to integrate updates; there are several approaches to achieve that. One way is to use separate mailboxes where users can send mail to and where they are picked up by cron - best when using Dovecot is probably to make users move spam into particular folders via IMAP.
I read that document some days ago, but the content_filter approach looks strange to me, because they use sendmail to reinject the E-Mail in the queue.
Well, I co-authored that document, but it's just a refined version of the "Simple Content Filter" as per Postfix's FILTER_README... check http://www.postfix.org/FILTER_README.html#simple_filter
Postfix's content_filter=... setting diverts the mail from regular routing, and the sendmail command (without -t!) reinjects with original headers and recipients (from envelope) for then regular routing.
Looks scary to some, but works.
BTDT, although I've moved on to amavisd-new since. Saves the hassle of training spamfilters with virucide fodder...
-- Matthias Andree