[exim] Multiple spamd servers.

Page principale
Supprimer ce message
Répondre à ce message
Auteur: Ian FREISLICH
Date:  
À: exim-users
Sujet: [exim] Multiple spamd servers.
Hi

I wonder if others share my frustration. I want to continue to
scan subtitted mail and make decisions based on the score. The
only trouble is that most of the users that use us to smart host
are on space that is RBLed into the darkest of RBL space and the
RBL scores are sufficient to make the scores over 7 in most cases.

I'd like to be able to have multiple profiles. Two at the moment.
One for mail be delivered to us and another for mail being submitted
to us for smart hosting. I doubt what I will propose later will
scale beyond 5 or 6 profiles.

The primary problem is that it not easy to change a rule scores
based on the calling user. In fact spamassassin says that system
rule scores cannot currently be modified from a user_prefs file.
I suppose this may be overcome by removing the rules I want to
change and placing them in the user_prefs file with the apprpriate
scores.

The secondary problem then becomes that of performance. SpamAssasin's
documentation states that it 'recompile[s] all the tests each time
it processes a message for a user with a rule in his/her "user_prefs"
file'. I already maintain a SpamAssasin farm larger than I care for
and this will have significant performance implications.

The only other way that I can think of is to allow exim to have
sets of spamd_address options so that I could scan submitted mail
with a spamd using a particular configuration and incoming SMTP on
a different spamd. This will mean some changes to the semantics
of the spam condition.

I envisage something like:

    deny    message    = Spam detected
        !authenticated    = *
        spam    = incoming-$primary_hostname/servers=spamd1 783 : \
            spamd2 783 : ...


    deny    message    = Spam detected
        authenticated    = *
        spam    = submission-$primary_hostname/servers=spamd1 784 : \
            spamd2 784 : ...


Altenatively, making the spamd_address configuration option expanded,
rather than a string could have the desired effect:

spamd_address= $acl_m0

acl_smtp_mail:
    warn    set acl_m0   = spamd1 783 : spamd2 783 : ...
        authenticated= *
        control      = submission/sender_retain/domain=$sender_address_domain
        set acl_m0   = spamd1 784 : spamd2 784 : ...


acl_smtp_data:
    deny    message    = Spam detected
        spam    = $primary_hostname


This might be the easier and smaller change to make.

So, before I go ahead and patch, I'd like to know what others think
and which form (if any) is more likely to be adopted into the source.

Ian

--
Ian Freislich