After pounding my head against a wall for a very long time now, I'm starting to believe what I'm trying to do here is just not possible, but I'm hoping someone wiser out there can think of a way past this impasse ...
I need to setup a mail server, using the above software ... the key requirement is that each user on the server has to have the ability to use the "per user" settings that are available in Spamassassin ... for instance, I have one user that gets a 'daily comic' from Dilbert that gets tagged as Spam, that she'd like to add to her personal whitelist(s) so that it doesn't get tag'd as such ... One of the servers that we want to set this up on is at the University where I work at, where wewan to set it up so that, by default, the 'required score' for spam is set abnormally high, to disable it by default, and let each user reduce it to a more reasonable number if they want it enabled ... All of this requires the ability for 'per-user' configurations to work ... Now, getting this to work where the email has one recipient is a piece of cake, and can be done inside of postfix quite nicely ... but as soon as you have 2+ recipients, it breaks ... For instance, from a remote machine, I just sent an email to two addresses on my machine, both on the To: line ... if you look at how the spam scoring worked, the first 'valid address' that it found is the one that it uses for scoring (kerri changed her required score to be 5.1, while mine is the default 5): ========================== Return-Path: <[EMAIL PROTECTED]> X-Sieve: cmu-sieve 2.0 Received: by earth.hub.org (Postfix, from userid 65534) id 978661037F6; Thu, 23 May 2002 10:38:16 -0300 (ADT) Received: from garlic.acadiau.ca (garlic.acadiau.ca [131.162.138.193]) by earth.hub.org (Postfix) with ESMTP id B03A21037E6; Thu, 23 May 2002 10:38:14 -0300 (ADT) Received: from atelier.acadiau.ca (atelier.acadiau.ca [131.162.138.223]) by garlic.acadiau.ca (8.11.5/8.11.5) with ESMTP id g4NDcJG50301; Thu, 23 May 2002 10:38:19 -0300 (ADT) (envelope-from [EMAIL PROTECTED]) Date: Thu, 23 May 2002 10:39:34 -0300 (ADT) From: "Marc G. Fournier" <[EMAIL PROTECTED]> To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Subject: test2 Message-ID: <[EMAIL PROTECTED]> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Spam-Status: No, hits=0.0 required=5.1 tests= version=2.20 X-Spam-Level: ========================== A subsequent email, as follows, scored right, as the first recipient wasn't "local" to this machine, so scored based on my rules: =========================== Return-Path: <[EMAIL PROTECTED]> X-Sieve: cmu-sieve 2.0 Received: by earth.hub.org (Postfix, from userid 65534) id 451371037EC; Thu, 23 May 2002 10:59:28 -0300 (ADT) Received: from garlic.acadiau.ca (garlic.acadiau.ca [131.162.138.193]) by earth.hub.org (Postfix) with ESMTP id 1F4AD1037C8 for <[EMAIL PROTECTED]>; Thu, 23 May 2002 10:59:12 -0300 (ADT) Received: from atelier.acadiau.ca (atelier.acadiau.ca [131.162.138.223]) by garlic.acadiau.ca (8.11.5/8.11.5) with ESMTP id g4NDxGG55241; Thu, 23 May 2002 10:59:16 -0300 (ADT) (envelope-from [EMAIL PROTECTED]) Date: Thu, 23 May 2002 11:00:31 -0300 (ADT) From: "Marc G. Fournier" <[EMAIL PROTECTED]> To: [EMAIL PROTECTED], <[EMAIL PROTECTED]> Message-ID: <[EMAIL PROTECTED]> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Spam-Status: No, hits=2.4 required=5.0 tests=SUBJ_MISSING version=2.20 X-Spam-Level: ** ============================= Now, so far, I've tried running spamproxyd as a content_filter for postfix, but, that just processes the message, and ignores the recipient(s) altogether ... so that doesn't/won't work ... I've tried the 'spam extension' that someone wrote to sieve, which works beautifully, but doesn't mark up the message in any way that someone using a POP3 client can make use of it, nor can sieve deal with different "levels" of spam (ie. filter it differently depending on how high it scores) ... there is another extension to sieve that is being worked on that will allow for 'value filtering', but without the headers for it to work on, this won't help either ... altho, so far, its the closest to perfect that I've found ... I've tried the following in my master.cf file: smtp inet n - n - - smtpd -o content_filter=spam: spam unix - n n - - pipe flags=Rq user=nobody argv=/usr/local/etc/postfix/spam-filter ${user} -f ${sender} -- ${recipient} but that produces the above, where it uses the first valid recipient as the basis for the rules, and delivers to everyone else based on those changes ... Now, in a Cyrus environment, my understanding is that it isn't until it hits the LMTP connection itself before the 'valid recipients' are known ... if this is correct, is there any way of setting up postfix so that it "queries" the lmtp side of things for each recipient it *thinks* is valid, to make sure it is valid, and then take the message and run it through spamassassin before actually passing it to lmtp? Somehow doing: foreach valid recipient process with spamassassin and send results to lmtp for final delivery _______________________________________________________________ Don't miss the 2002 Sprint PCS Application Developer's Conference August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm _______________________________________________ Spamassassin-talk mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/spamassassin-talk