Postfix + SpamAssassin ?

На доскональное знание данной темы, не может претендовать, пожалуй ни один спец, из ныне живущих на земле. ;-)
Так поможем друг другу.

Модераторы: Trinity admin`s, Free-lance moderator`s

AnatolySh
Junior member
Сообщения: 13
Зарегистрирован: 30 июл 2005, 23:07

Сообщение AnatolySh » 06 авг 2005, 12:26

Кстати:
Указал я постфиксу в качестве фильтра просто пустой скрипт. Эффект такой же. Письма не доходят, как и в случае с спамфильтром. Получается, что после обращения к внешнему скрипту фильтра, постфикс дальше не обрабатывает писма и теряет их. Т.е. пользователям ничего не приходит.

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Сообщение Stranger03 » 08 авг 2005, 12:35

AnatolySh писал(а):Кстати:
Указал я постфиксу в качестве фильтра просто пустой скрипт. Эффект такой же.
Попробуйте вот такую запись:

Код: Выделить всё

spam      unix -     n       n       -       -       pipe
   user=filter argv=/usr/bin/spamc -f -e
   /usr/sbin/sendmail -oi -f ${sender} ${recipient}

AnatolySh
Junior member
Сообщения: 13
Зарегистрирован: 30 июл 2005, 23:07

Сообщение AnatolySh » 08 авг 2005, 15:29

При такой конфигурации он зацикливается. Вот фрагмент лога.
---------------------
Aug  8 14:15:59 molodechno spamd[11092]: result: . -102 - ALL_TRUSTED,AWL,DATE_IN_PAST_96_XX,USER_IN_WHITELIST scantime=7.8,size=700,mid=<1184328502.20050728093038@molodechno.by>,autolearn=ham
Aug  8 14:15:59 molodechno sendmail[35016]: dangerous permissions=40776 on queue directory /var/spool/clientmqueue/
Aug  8 14:15:59 molodechno sendmail[35016]: j78BFxHo035016: Authentication-Warning: molodechno.by: filter set sender to anatoly@molodechno.by using -f
Aug  8 14:15:59 molodechno sendmail[35016]: j78BFxHo035016: from=anatoly@molodechno.by, size=922, class=0, nrcpts=1, msgid=<1184328502.20050728093038@molodechno.by>, relay=filter@localhost
Aug  8 14:15:59 molodechno postfix/smtpd[35011]: connect from localhost.by[127.0.0.1]
Aug  8 14:15:59 molodechno postfix/smtpd[35011]: 2500E28481: client=localhost.by[127.0.0.1]
Aug  8 14:15:59 molodechno postfix/cleanup[35014]: 2500E28481: message-id=<1184328502.20050728093038@molodechno.by>
Aug  8 14:15:59 molodechno postfix/qmgr[35010]: 2500E28481: from=<anatoly@molodechno.by>, size=1391, nrcpt=1 (queue active)
Aug  8 14:15:59 molodechno sendmail[35016]: j78BFxHo035016: to=webmaster@molodechno.by, delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30922, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (Ok: queued as 2500E28481)
Aug  8 14:15:59 molodechno postfix/smtpd[35011]: disconnect from localhost.by[127.0.0.1]
Aug  8 14:15:59 molodechno postfix/pipe[35015]: 85BA728478: to=<webmaster@molodechno.by>, relay=checkfilter, delay=9, status=sent (molodechno.by)
Aug  8 14:15:59 molodechno postfix/qmgr[35010]: 85BA728478: removed
Aug  8 14:16:00 molodechno spamd[11094]: connection from localhost.by [127.0.0.1] at port 52192
Aug  8 14:16:02 molodechno spamd[11094]: processing message <1184328502.20050728093038@molodechno.by> for filter:0.
------------------------------------

Что-то я уже совсем ничего не понимаю :(

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Сообщение Stranger03 » 08 авг 2005, 16:54

Здесь ошибка, лишняя опция.

Код: Выделить всё

spam      unix -     n       n       -       -       pipe
   user=filter argv=/usr/bin/spamc -e
   /usr/sbin/sendmail -oi -f ${sender} ${recipient}
Хотя повторюсь, должна бы работать стандартная конфигурация. А дурацкий вопрос, сокет спамд создает?

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Сообщение Stranger03 » 08 авг 2005, 17:23

Вот еще вариант:

Код: Выделить всё

smtp inet n - y - - smtpd -o content_filter=filter: 
................
filter unix - n n - - pipe 
user=spamfilter argv=/usr/local/bin/spamfilter.sh -f $(sender) -- $(recipient)
Пишем скрипт spamfilter.sh

Код: Выделить всё

#!/bin/sh 

INSPECT_DIR=/var/spool/filter 
SENDMAIL="/usr/sbin/sendmail -i" 
SPAMASSASSIN=/usr/bin/spamc 
EX_TEMPFAIL=75 
EX_UNAVAILABLE=69 

cd $INSPECT_DIR || { echo $INSPECT_DIR does not exist; exit $EX_TEMPFAIL; } 

# Clean up when done or when aborting. 
trap "rm -f in.$$; rm -f out.$$" 0 1 2 3 15 

cat | $SPAMASSASSIN > out.$$ || { echo Message content rejected; exit $EX_UNAVAILABLE; } 

$SENDMAIL "$@" < out.$$ 

exit $?
Все взято по материалам отсюда:
http://gennadi.dyn.ee/modules.php?name= ... topic&t=11
Не помню, когда-то давно я пробовал так. Даже не помню, работала ли сия схема. Ну и этот же пример говорит, почему у вас не работал ваш скрипт.

Ответить

Вернуться в «Серверы - ПО, Unix подобные системы»