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

Reply via email to