The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Mail::Decency::ContentFilter::CRM114

DESCRIPTION

Filters messages trough crm114 discriminator.

CONFIG

    ---
    
    disable: 0
    
    cmd_train: '/usr/share/crm114/mailreaver.crm --fileprefix=%user% -u %user% --report_only'
    cmd_learn_spam: '/usr/share/crm114/mailfilter.crm --fileprefix=%user% -u %user% --learnspam'
    cmd_unlearn_spam: '/usr/share/crm114/mailfilter.crm --fileprefix=%user% -u %user% --learngood'
    cmd_learn_ham: '/usr/share/crm114/mailfilter.crm --fileprefix=%user% -u %user% --learngood'
    cmd_unlearn_ham: '/usr/share/crm114/mailfilter.crm --fileprefix=%user% -u %user% --learnspam'
    
    
    # set a global crm directory .. for isp like configs, not per user
    #   the "/" at the end is important!!
    default_user: /var/spool/crm114/
    
    # weight for known innocent (good) mails
    #weight_innocent: 20
    
    # weight for known spam (bad) mails
    #weight_spam: -100
    
    # translate crm114 generated weightings into weightings
    #   used in the content filter context (can't use each's
    #   content filter out, cause they use their own scale)
    #   the following translated any crm114 score equal or
    #   bigger then 1 to 100, any score between 1 and -2 to
    #   internal score of 0 and anything below 
    weight_translate:
        1: 100
        -2: 0
        -3: -100
    

INSTALL CRM114

This is a very simplified installation. For detailed information and more in-depth information refer to google.

Assuming you don't want an per-user but a global css database...

First of get crm. In a debian system that would be:

    aptitude install crm114

(for source compilation or other distries refer to google)

Then make some crm114 directory. This might get large (depending on the amount of trained mails)

    mkdir /var/spool/crm114
    cd /var/spool/crm114

Now copy the basic configuration files there

    cp /usr/share/crm114/mailfilter.cf .

Create empty priority and whitelist files

    touch rewrites.mfp priolist.mfp whitelist.mfp blacklist.mfp

Create empty css files for spam and ham

    cssutil -b -r spam.css
    cssutil -b -r nonspam.css

Make some modifications in the config file mailfilter.cf (again: google for info about that matter)

    :spw: /mypassword/
    :add_verbose_stats: /no/
    :add_extra_stuff: /no/
    :rewrites_enabled: /no/
    :spam_flag_subject_string: //
    :unsure_flag_subject_string: //
    :log_to_allmail.txt: /no/

Mark the following for later tuning:

    :good_threshold: /10.0/
    :spam_threshold: /-5.0/

Now allow your decency filter user write-access to the config dir

    chown -R mailuser:mailgroup /var/spool/crm114

TRAIN

Train your first mails into crm like this.

    /usr/share/crm114/mailtrainer.crm --spam=/path/to/spamdir --good=/path/to/hamdir \
        --fileprefix=/var/spool/crm114/

CLASS ATTRIBUTES

METHODS

handle_filter_result

get_user_fallback

CRM114 runs normally with $USER_HOME/.crm114 .. this fallback method implements that. As long as no "cmd_user" is set, it will be used.

SEE ALSO

AUTHOR

Ulrich Kautz <uk@fortrabbit.de>

COPYRIGHT

Copyright (c) 2010 the "AUTHOR" as listed above

LICENCSE

This library is free software and may be distributed under the same terms as perl itself.