Spam filtering / Sieve on bulletinboards

Ben Poliakoff benp at reed.edu
Tue Feb 27 10:07:22 EST 2007


* Janne Peltonen <janne.peltonen at helsinki.fi> [20070226 23:55]:
> On Mon, Feb 26, 2007 at 03:53:09PM -0600, Chris St. Pierre wrote:
> > We use something like this:
> > 
> > # Probably Spam
> > if header :comparator "i;ascii-casemap" :matches "Subject" "[SPAM:*"
> > {
> >     fileinto "INBOX.Junk Mail";
> >     stop;
> > }
> 
> So apparently you can sieve mail coming to a bulletin board? How?
> 
> Thanks in advance.
> 

Since version 2.2.13 bulletins/shared-folders can be made to evaluate
sieve scripts.  Configuring these scripts is different in two key ways:

  - sieve scripts for shared folders must be uploaded into the global
    namespace, one does this by connecting to the sieve server as a user
    listed in the 'admins' section in imapd.conf

  - once the script has been uploaded into the global namespace a
    shared folder can be configured to use the script via the new
    'sieve' mailbox annotation (e.g. in cyradm 'mboxcfg <mailbox> sieve
    <sieve_script_name>)

We use this feature a lot these days.

One interesting gotcha about the sieve global namespace is that (at
least in 2.3.7) it is subject to some of the same limitations as a
normal user's sieve access.  With the default configs you'll be able
to upload a maximum of 5 separate scripts to the global namespace.
'sieve_maxscripts' can be set to a value higher than 5 but of course
this will allow normal users to upload more scripts as well.  It would
be nice to be able to configure distinct behaviors / limitations /
capabilities for the global namespace vs the end-user space.

Ben


More information about the Info-cyrus mailing list