Я обновил свой /etc/spamassassin/local.cf
файл spamassassin, чтобы обновить некоторые правила оценки. Однако даже после перезапуска spamassassin (через службу) новые оценки не отображаются в спам-письмах. На самом деле, ничто в этом файле, похоже, не влияет на работу spamassassin.
Я использую exim в качестве MTA, но это не должно иметь значения. Все пакеты были установлены через apt-get и имеют последнюю версию для 14.04.
Например, у меня это:
score HTML_MESSAGE 2.0
определить в /etc/spamassassin/local.cf
. Я перезапустил и exim и spamassassin. spamassassing --lint
показывает, что в файле нет ошибок. Затем получил еще один спам с этим:
0.0 HTML_MESSAGE BODY: HTML included in message
В поле X-Spam-Report.
Я запустил spamassassin -D < spam
, и порядок загрузки файлов cfg, похоже, неправильный:
Jun 8 13:34:07.300 [21668] dbg: config: read file /etc/spamassassin/local.cf
...
Jun 8 13:34:07.600 [21668] dbg: config: read file /var/lib/spamassassin/3.004000/updates_spamassassin_org/50_scores.cf
...
Jun 8 13:34:07.787 [21668] dbg: config: read file /var/lib/spamassassin/3.004000/updates_spamassassin_org/73_sandbox_manual_scores.cf
Jun 8 13:34:07.788 [21668] dbg: config: fixed relative path: /var/lib/spamassas
sin/3.004000/updates_spamassassin_org/local.cf
...
Что происходит?
На основе комментария отСантиман: Я попробовал strace -f -e trace=file spamassassin -D < spam
с тем же результатом: Spamassassin читает системные файлы после файла local.cf. Таким образом, уничтожая любые изменения счета.
Из комментариев: вот local.cf
файл, который более или менее ванильный.
# This is the right place to customize your installation of SpamAssassin.
#
# See 'perldoc Mail::SpamAssassin::Conf' for details of what can be
# tweaked.
#
# Only a small subset of options are listed below
#
###########################################################################
# Add *****SPAM***** to the Subject header of spam e-mails
#
rewrite_header Subject *****SPAM*****
add_header spam Flag _YESNOCAPS_
add_header all Checker-Version SpamAssassin _VERSION_ (_SUBVERSION_) on _HOSTNAME_
add_header all Status _YESNO_, score=_SCORE_ required=_REQD_ tests=_TESTS_ autolearn=_AUTOLEARN_ bayes=_BAYES_
add_header all Report _SUMMARY_
# Save spam messages as a message/rfc822 MIME attachment instead of
# modifying the original message (0: off, 2: use text/plain instead)
#
# report_safe 1
# Set which networks or hosts are considered 'trusted' by your mail
# server (i.e. not spammers)
#
# trusted_networks 212.17.35.
# Set file-locking method (flock is not safe over NFS, but is faster)
#
# lock_method flock
# Set the threshold at which a message is considered spam (default: 5.0)
#
required_score 5.0
# Use Bayesian classifier (default: 1)
#
use_bayes 1
bayes_path /var/lib/spamassassin/bayes/bayes
bayes_file_mode 0777
# Bayesian classifier auto-learning (default: 1)
#
bayes_auto_learn 1
# Set headers which may provide inappropriate cues to the Bayesian
# classifier
#
bayes_ignore_header X-Bogosity
bayes_ignore_header X-Spam-Flag
bayes_ignore_header X-Spam-Status
# Some shortcircuiting, if the plugin is enabled
#
ifplugin Mail::SpamAssassin::Plugin::Shortcircuit
#
# default: strongly-whitelisted mails are *really* whitelisted now, if the
# shortcircuiting plugin is active, causing early exit to save CPU load.
# Uncomment to turn this on
#
shortcircuit USER_IN_WHITELIST on
shortcircuit USER_IN_DEF_WHITELIST on
shortcircuit USER_IN_ALL_SPAM_TO on
shortcircuit SUBJECT_IN_WHITELIST on
# the opposite; blacklisted mails can also save CPU
#
shortcircuit USER_IN_BLACKLIST on
shortcircuit USER_IN_BLACKLIST_TO on
shortcircuit SUBJECT_IN_BLACKLIST on
# if you have taken the time to correctly specify your "trusted_networks",
# this is another good way to save CPU
#
# shortcircuit ALL_TRUSTED on
# and a well-trained bayes DB can save running rules, too
#
shortcircuit BAYES_99 spam
shortcircuit BAYES_00 ham
blacklist_from wokfrance.com
blacklist_from brother-mailer.com
blacklist_from *.sd-soft.net
blacklist_from woifrance.com
blacklist_from adimacocl.net
blacklist_from bletspuranawyat.net
blacklist_from sd-soft.net
blacklist_from m1web-track.com
blacklist_from winntoniecline.net
blacklist_from kafod.org
blacklist_from *.kafod.org
blacklist_from [email protected]
blacklist_from *.bhlive.co.uk
blacklist_from *.regionasm.net
blacklist_from regionasm.net
## Tweaks.
score AC_BR_BONANZA 1.0
score ADMITS_SPAM 10.0
score A_HREF_TO_REMOVE 2.0
score DEAR_FRIEND 4.0
score FREEMAIL_FORGED_FROMDOMAIN 4.0
score FREEMAIL_FROM 1.0
score FROM_LOCAL_HEX 9.0
score HTML_MESSAGE 2.0
score RCVD_IN_MSPIKE_BL 2.0
score RCVD_IN_SORBS_WEB 2.0
score RCVD_IN_XBL 3.0
score RDNS_NONE 2.0
score SCVD_IN_DNSWL_BLOCKED 3.0
score T_DKIM_INVALID 1.0
score T_FREEMAIL_DOC_PDF 3.0
score T_REMOTE_IMAGE 3.0
score URIBL_BLOCKED 3.0
score URIBL_DBL_SPAM 3.0
score URIBL_JP_SURBL 3.0
score URIBL_WS_SURBL 3.0
endif # Mail::SpamAssassin::Plugin::Shortcircuit
И весь вывод spamassassin -D
слишком большой для этого. Однако соответствующие строки выше. Если вам нужна дополнительная информация, скажите мне, что искать, и я добавлю это.
решение1
Проблема в том, что вы устанавливаетеHTML_СООБЩЕНИЕоценка внутриКороткое замыканиеплагин. Но этот плагин по умолчанию отключен. Попробуйте установить счет в последней строке файла, послеКороткое замыкание endif
инструкция:
# Some shortcircuiting, if the plugin is enabled
#
ifplugin Mail::SpamAssassin::Plugin::Shortcircuit
# [...]
endif # Mail::SpamAssassin::Plugin::Shortcircuit
score HTML_MESSAGE 2.0
Если вы предпочитаете включитьЯрлыкплагин, вам нужно раскомментировать его из/etc/spamassassin/v320.preфайл:
# Shortcircuit - stop evaluation early if high-accuracy rules fire
#
loadplugin Mail::SpamAssassin::Plugin::Shortcircuit
решение2
В файле README для SpamAssassin рассказывается о сложном способе, которым SpamAssassin считывает собственные файлы данных.
Начните читать со строки 95: http://svn.apache.org/viewvc/spamassassin/branches/3.4/README?view=markup#l95
Из прочитанного следует, что SpamAssassin, по крайней мере в оригинальном, официальном источнике, не считывает данные с
/etc/spamassassin/
вообще, а скорее от
/etc/mail/spamassassin/
Попробуйте переместить туда свой файл! :D
решение3
По умолчанию local.cf
я читаю:
# These values can be overridden by editing ~/.spamassassin/user_prefs.cf
# (see spamassassin(1) for details)
У вас есть пользовательский файл конфигурации spamassassin (~/.spamassassin/user_prefs.cf)?
Взгляните также на этот perldoc:
perldoc Mail::SpamAssassin::Conf
вПОЛЬЗОВАТЕЛЬСКИЕ НАСТРОЙКИраздел, который я прочитал:
НАСТРОЙКИ ПОЛЬЗОВАТЕЛЯ Следующие параметры можно использовать как в файлах конфигурации для всего сайта («local.cf»), так и в файлах конфигурации для отдельных пользователей («user_prefs»), чтобы настроить обработку SpamAssassin входящих сообщений электронной почты.