Доброго времени суток всем.
Подскажите, пожалуйста, знатоки...Никак не могу добиться того, чтобы procmail складывал письма, помеченные как спам spamassassin-ом в отдельную папку.
Вроде бы все делаю как указано во всех руководствах и что нашел на форуме. Настройки по procmail делаю только для одного юзера, не затрагивая глобальные настройки procmail.
Спаммассасин помечает письма как спам и дописывает тему письма...
Вот что я сделал:/usr/home/имяюзера/.qmail :
дописал | preline procmail
создал файл /usr/home/имяюзера/.procmailrc и в нем:
MAILDIR=/usr/home/имяюзера/Maildir
LOGFILE=/var/log/procmail.log:0
*Subject:.*(SPAM|spam)
$MAILDIR/spam/в /usr/home/имяюзера/.spamassassin/user_prefs записал :
required_score 4 (юзер-злостный спамополучатель :))
Что-то еще надо?ЗЫ: просьба ногами не бить :)
Попробуй так:[user@host]$cat /usr/home/anyuser/.qmail
|/usr/bin/procmail /usr/home/anyuser/.procmailrc
[user@host]$cat /usr/home/anyuser/.procmailrc
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
MAILDIR=/usr/home/anyuser/Maildir/new
:0
* ^X-Spam-Flag:.YES
{
:0
# 4 очка и выше ... ну понятно куда :)
* ^X-Spam-Level:.\*\*\*\*
/dev/null
#всё, менее 4х баллов доставить пользователю
:0
*
${MAILDIR}
}
# По умолчанию доставить пользователю
:0
*
${MAILDIR}
[user@host]$
Настроил по вышесказанному ...
Теперь письма, отмеченные спамассассином, в ящике пользователя выглядят как файл с названием типа: msg.jsoI весом в 1 байт...пустые.....это нормально? :) Проверить у конечного пользователя возможности нет
>Настроил по вышесказанному ...
>Теперь письма, отмеченные спамассассином, в ящике пользователя выглядят как файл с названием
> типа: msg.jsoI весом в 1 байт...пустые.....это нормально? :) Проверить у
>конечного пользователя возможности нет
да вроде не должно быть так
у меня ничего не появляется :-\
в качестве быстрого решения::0
* ^X-Spam-Flag:.YES
{
:0
# 4 очка и выше ... ну понятно куда :)
* ^X-Spam-Level:.\*\*\*\*
# попробуй доставлять в отдельную папку
/usr/home/anyuser/Maildir/spam
#всё, менее 4х баллов доставить пользователю
:0
*
${MAILDIR}
}
# По умолчанию доставить пользователю
:0
*
${MAILDIR}а после /usr/home/anyuser/Maildir/spam чистить по крону
типа find /usr/home/anyuser/Maildir/spam -name 'msg.*' | xargs rm -f
Все тож самое.....:( Странно, странно....по логам все номано
Еще тогда вопрос:папка /usr/home/anyuser/Maildir/spam должна создаваться вручную?
>Еще тогда вопрос:
>
>папка /usr/home/anyuser/Maildir/spam должна создаваться вручную?
да, иначе процмайл должен ругаться
Создано...пока пусто...права на папку пользователю и атрибуты - по умолчанию?
>Создано...пока пусто...права на папку пользователю и атрибуты - по умолчанию?
из под какого пользователя процмайл запускается, - чтение, запись, исполнение
а нормальная почта (< 4 баллов) доставляется?
Меньше 4 доставляется....
Кстати, у меня возник вопросик... строка:
* ^X-Spam-Flag:.YES
Точка после двоеточия обязательно нужна? Просто в руководстве по процмейлу обнаружил:
# -----------------------------------------------------------------------------------
MAILDIR=$HOME/mail
DEFAULT=$HOME/mail/Inbox
LOGFILE=$HOME/mail/proc.log# Catch SPAM
:0
* ^X-Spam-Flag: YES
* ^X-Spam-Level: \*\*\*\*\*\*
spam
# -----------------------------------------------------------------------------------
точки нет....
Где искать правду? :)
>Меньше 4 доставляется....
>Кстати, у меня возник вопросик... строка:
>* ^X-Spam-Flag:.YES
>Точка после двоеточия обязательно нужна? Просто в руководстве по процмейлу обнаружил:
># -----------------------------------------------------------------------------------
>MAILDIR=$HOME/mail
>DEFAULT=$HOME/mail/Inbox
>LOGFILE=$HOME/mail/proc.log
>
># Catch SPAM
>:0
>* ^X-Spam-Flag: YES
>* ^X-Spam-Level: \*\*\*\*\*\*
>spam
># -----------------------------------------------------------------------------------
>
>
>точки нет....
>Где искать правду? :)
точка означаеи любой одиночный символ(атом) в регулярном выражении
пробел тоже срабатывает, но я стараюсьПробеламиНеПользоваться
'\s' из перла здесь неприменимо, значит пробел я заменяю любым единичным символомman regexp, а лучше купи книгу Фридла "Регулярные выражения" и прочти
я потратил 253 рубля осенью 2003 года и до сих пор не жалеюЛожки , кстати, тоже нет. Никакой... :D
>Ложки , кстати, тоже нет. Никакой... :D
Шутку юмора понял.... Спасибо :)Про регулярные выражения-то я и забыл...а вот за ссылку на книжку отдельно спасибо
>>Ложки , кстати, тоже нет. Никакой... :D
>Шутку юмора понял.... Спасибо :)Я могу лишь указать тебе дверь. Войти ты должен сам (с) оттуда же
>
>Про регулярные выражения-то я и забыл...а вот за ссылку на книжку отдельно
>спасибо
Регекспы рулят, libpcre легко заменяет 3 бензопилы "Дружба"Удачи :)
возвращаясь к теме (спам как не отсекался, так и не отсекается....)qmail в логах пишет следующее при обработке procmail:
procmail:_Skipped_"*_^X-Spam-Level:.\*\*\*\*"procmail_Skipped_"spam"/did_0+0+1/
то ,что он пропускает эти строчки , это понятно, а вот почему? И что означает это did_0+0+1/?
листинг .procmail (проще некуда)::0
* ^X-Spam-Flag:.YES
* ^X-Spam-Level:.\*\*\*\*
/usr/home/anyuser/Maildir/spamПочта ходит, спам не отсекается
>листинг .procmail (проще некуда):
>
>:0
>* ^X-Spam-Flag:.YES <- вот это можно убрать, всё равно асасин добавляет следующую строчку, если метит как спам
>* ^X-Spam-Level:.\*\*\*\*
>/usr/home/anyuser/Maildir/spam
>
>Почта ходит, спам не отсекается
а мой вариант у тебя не заработал?
>а мой вариант у тебя не заработал?К сожалению, нет... :( Как я уже говорил приходят только странные письма по 1кб
А если вместо *^X-Spam-Flag:.YES написать *^Subject:.*Spam ?
>>а мой вариант у тебя не заработал?
>
>К сожалению, нет... :( Как я уже говорил приходят только странные письма
>по 1кб
>
>
>А если вместо *^X-Spam-Flag:.YES написать *^Subject:.*Spam ?
монопенисуально, только регистр слова Spam должен совпадать с тем что прописано в local.cf
я бы написал так:
* ^Subject:.*\*SPAM\*поскольку у меня в local.cf написано "rewrite_header Subject *****SPAM*****"