четверг, 25 июня 2009 г.

RoundCube: убираем спам в папку SPAM.


В этом посте я расскажу, как убрать спам, определяемый при помощи SpamAssasin, в папку Spam в RoundCube.

Предполагается, что у Вас уже установлены:

  • RoundCube


  • SpamAssasin


  • Exim4

Все ниже описанное производилось на Ubuntu Server 8.04. На других версиях/дистрибутивах возможны небольшие отличия.

Не забывайте делать бэкапы файлов, которые правите.

Настройка состоит из 3 этапов:


1. Настройка SpamAssassin:


Разрешаем запуск демона SpamAssassin.В файле /etc/default/spamassassin устанавливаем:
ENABLED=1
Т.к. спам из писем мы будем отлавливать по заголовку сообщения, убедитесь что SpamAssasin добавляет к заголовку слово SPAM.
Для этого откройте файл /etc/spamassasin/local.cf и раскомментируйте строчку
rewrite_header Subject *****SPAM*****
Перезапускаем SpamAssassin

2. Настройка Exim:

Добавьте строчки в самое начало /etc/exim4/exim4.conf.template:
local_scan_path = /usr/lib/exim4/local_scan/sa-exim.so
SA_ENABLE = yes
В файле /etc/exim4/sa-exim.conf найдите и закоментируйте строчку, начинающуюся с
SAEximRunCond:
Перезапускаем Exim

3. Настройка RoundCube:



Я нагуглил следующий патч http://www.fusionreactions.com/pages/rcmail,
который ищет в заголовках писем слово "спам" и при обнаружении скидывает в папку SPAM, но по каким-то причинам, когда я подменял func.inc у меня падал весь roundcube(видимо разные версии).
Если у Вас происходит тоже самое, то не отчаевайтесь, мы проведём замену руками:



откройте файл с патчем, который можно взять с http://www.fusionreactions.com/pages/rcmail
ищем функцию rcmail_js_message_list и заменяем ею ту же функцию в файле
/usr/share/roundcube/program/steps/mail/func.inc


не забудьте в main.inc.php прописать $rcmail_config['spam_subject'] = 'SPAM';
или же в func.inc $CONFIG['spam_subject'] заменить на "SPAM"


Для пробы можно на ящик скинуть сообщение, в заголовке которого содержится слово SPAM.

Комментариев нет:

Отправить комментарий