Difference between revisions of "Spamassassin"
(Add header reporting) |
(Learning from dovecot) |
||
Line 22: | Line 22: | ||
add_header all Status _YESNO_, hits=_HITS_ tests=_TESTSSCORES(,)_ autolearn=_AUTOLEARN_ | add_header all Status _YESNO_, hits=_HITS_ tests=_TESTSSCORES(,)_ autolearn=_AUTOLEARN_ | ||
add_header all Details required=_REQD_ version=_VERSION_ _REPORT_ | add_header all Details required=_REQD_ version=_VERSION_ _REPORT_ | ||
+ | add_header all Pyzor _PYZOR | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 33: | Line 34: | ||
<syntaxhighlight lang="console"> | <syntaxhighlight lang="console"> | ||
# su vmail -s /bin/sh -c "sa-learn --spam --progress --dir /var/maildir/<username>/Maildir/.Spam/cur/" | # su vmail -s /bin/sh -c "sa-learn --spam --progress --dir /var/maildir/<username>/Maildir/.Spam/cur/" | ||
− | # su vmail -s /bin/sh -c "sa-learn -- | + | # su vmail -s /bin/sh -c "sa-learn --ham --progress --dir /var/maildir/<username>/Maildir/cur/" |
</syntaxhighlight> | </syntaxhighlight> | ||
Line 75: | Line 76: | ||
In file <code>/etc/dovecot/conf.d/20-imap.conf</code>, modify the option ''mail_plugins'' and add ''antispam'' to the list | In file <code>/etc/dovecot/conf.d/20-imap.conf</code>, modify the option ''mail_plugins'' and add ''antispam'' to the list | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="shell"> |
protocol imap { | protocol imap { | ||
# Space separated list of plugins to load (default is global mail_plugins). | # Space separated list of plugins to load (default is global mail_plugins). | ||
Line 81: | Line 82: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | Edit file <code>/etc/dovecot/conf.d/90-antispam.conf</code> and set or edit the following options | ||
+ | <syntaxhighlight lang="shell"> | ||
+ | antispam_backend = pipe | ||
+ | antispam_trash_pattern_ignorecase = trash;Deleted Items;Deleted Messages | ||
+ | antispam_spam_pattern_ignorecase = Spam;Junk | ||
+ | antispam_pipe_program_spam_arg = -r | ||
+ | antispam_pipe_program_notspam_arg = -k | ||
+ | antispam_pipe_program = /usr/bin/spamassassin | ||
+ | </syntaxhighlight> | ||
+ | |||
[[Category:Install]] | [[Category:Install]] |
Revision as of 22:24, 8 March 2016
Warning: | This page is a work in progress and is not completed. Important informations might be missing or wrong. |
Install
# apt install spamassassin
Configure
After changing config in /etc/spamassassin/
, don't forget tell SpamAssassin to reload config
# service spamassassin reload
Report Headers
SpamAssassin can had headers in the messages it scan. It will help you investigate things in case you get false-positive are false-negative.
Add the following lines to /etc/spamassassin/local.cf
add_header all Status _YESNO_, hits=_HITS_ tests=_TESTSSCORES(,)_ autolearn=_AUTOLEARN_
add_header all Details required=_REQD_ version=_VERSION_ _REPORT_
add_header all Pyzor _PYZOR
Bayesian filter
To reach a good efficiency, SpamAssassin Bayesian filter need to be trained with both spam and ham messages. You can use your actual mailbox for that but note the following points:
- Be sure that the folders you use for training contain only spam or ham. If a folder contain a mix of them, SpamAssassin will learn wrong info and produce bad quality results
- To be effective you need between 1000 and 5000 messages each of both spam and ham.
- You need to have more ham than spam to train. Otherwise, SpamAssassin might become biased toward spam.
# su vmail -s /bin/sh -c "sa-learn --spam --progress --dir /var/maildir/<username>/Maildir/.Spam/cur/"
# su vmail -s /bin/sh -c "sa-learn --ham --progress --dir /var/maildir/<username>/Maildir/cur/"
To check the status of the database, you can run
# su vmail -s /bin/sh -c "sa-learn --dump magic"
Integrate with exim
# apt install sa-exim
Configuration is stored in /etc/exim4/sa-exim.conf
.
Edit the following setting
SAspamcUser: vmail
By defauld sa-exim is disabled. Remove the following lines to enable it
#----------------------------------------------------------------------
# Remove or comment out the following line to enable sa-exim
SAEximRunCond: 0
#----------------------------------------------------------------------
You can now restart exim to take you settings into account
# service exim4 restart
Integrate with dovecot
# apt install dovecot-antispam
In file /etc/dovecot/conf.d/20-imap.conf
, modify the option mail_plugins and add antispam to the list
protocol imap {
# Space separated list of plugins to load (default is global mail_plugins).
mail_plugins = $mail_plugins antispam
}
Edit file /etc/dovecot/conf.d/90-antispam.conf
and set or edit the following options
antispam_backend = pipe
antispam_trash_pattern_ignorecase = trash;Deleted Items;Deleted Messages
antispam_spam_pattern_ignorecase = Spam;Junk
antispam_pipe_program_spam_arg = -r
antispam_pipe_program_notspam_arg = -k
antispam_pipe_program = /usr/bin/spamassassin