[quote user="Thomas R. Stephenson"]Not really sure how much good they will do for most people.[/quote]You could say the same thing about any proposed feature; that doesn't mean the feature lacks value. In any event, I think it would be VERY useful to at least be able to apply transaction-level filtering to ANY header, even if we must (for now) forego examination of the actual message body.
[quote]The transaction filters generally work on the SMTP mail headers[/quote]But, as it stands now, only a small predefined subset of them. That's the problem.
[quote]Working on the body of the RFC 2822 message looking for headers means are are in the process of downloading the mail already and normally you would not issue the 500 series error message in this stage of the message delivery.[/quote]I think that in place of "normally", the term "traditionally" is the better fit -- but the traditional approach does not really serve us very well in the here and now.
[quote]I know it's legal to do it this way but it's messy.[/quote]So what's your alternative? The point here is, issuing a "250 Data received OK" and then realizing you've got a spam/virus/whatever on your hands is even messier. As explained in my original post, that leaves you on the horns of a no-win dilemma. No matter what you do at that point, it's going to be wrong in some way -- perhaps seriously wrong in the case of "backscattered" spam (or worse, viruses). The only truly clean solution is to not "accept" that mail in the first place -- which brings us right back to doing ALL the tests before issuing the "250 ...".
[quote]FWIW, I've got Mercury/32 running on Linux (Ubuntu v7.10 with Wine v0.9.50) without any problems at all. I am running Clamwall, Spamwall and Graywall as well.[/quote]Cool! That definitely give me some encouragement; but it doesn't really address the primary issue I posted about.