[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

postfix+mysql+bogofilter







Witam serdecznie

mam uruchomiony server pocztowy w oparciu i postfix, domeny i konta w mysql,
amavis i mks zajmuja sie ochrona antyvirusowa.
chcialbym uruchomic jeszcze ochrone antyspamowa. W tym celu chcialbym uzyc
programu bogofilter ktory dziala w oparciu o procmial.
po wielu nieudanych probach doczytalem sie ze nie da sie uruchomis procmaila
dla uzytkownikow virtualnych w bazie (jesli jest inaczej i ktos wie jak to
uruchomic prosze o pomoc) a u mnie wszyscy sa wlasnie w bazie.

czy ktos ma u siebie dizlajaca konfiguracje:
postfix+mysql+amavis+mks(badz cokolwiek) +bogofilter        ?

na google nie znalazlem rozwiazania.

znalazlem nastepujace rozwiazanie ktore nie bardzo u nie dziala:

bogofilter uruchamiany jest za pomaca skryptu: (postfix-filter.sh)

#!/bin/sh

FILTER=/usr/local/bin/bogofilter
FILTER_DIR=/var/spool/postfix/bogofilter
POSTFIX=/usr/sbin/sendmail
export BOGOFILTER_DIR=/var/spool/postfix/bogofilter

# Exit codes from <sysexits.h>
EX_TEMPFAIL=75
EX_UNAVAILABLE=69

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

# Clean up when done or when aborting.
trap "rm -f inp.$$ msg.$$ ; exit $EX_TEMPFAIL" 0 1 2 3 15

# Bogofilter -e returns: 0 for spam, 1 for nonspam
# 2 for I/O or other errors.

rm -f inp.$$ || exit $EX_TEMPFAIL
cat > inp.$$ || exit $EX_TEMPFAIL
$FILTER -p -u -e < inp.$$ > msg.$$ || exit $EX_TEMPFAIL

exec < msg.$$ || exit $EX_TEMPFAIL
#rm -f msg.$$

exec $POSTFIX "$@" < msg.$$
exit $EX_TEMPFAIL

w master.cf dodalem nastepujaca linie:

filter          unix        -        n        n        -        -       
pipe flags=R \
user=bogofilter argv=/var/spool/postfix/bogofilter/postfix-filter.sh -f \
${sender} --${recipient}

oraz
smtp      inet  n       -       n       -       -       smtpd
    -o smtpd_sasl_auth_enable=yes
    -o content_filter=amavis:[127.0.0.1]:10024
    -o content_filter=filter:                # linia dla bogofilter

problem jest nastepujacy: albo dziala amavis, albo (prawie dziala)
postfix-filter.sh (ale tylko jesli zakomentuje linie amavisa)

prawie dziala poniewaz wiadomosc trafia do filtra zapisywana jest w
/var/spool/postfix/bogofilter pod nazwa inp.*** (*** jakis numer)
oraz przeskanowany pod nazwa msg.***
problem polega na tym ze przeskanowany mail nie dochodzi do adresata a w
logi pisza:

an  3 10:04:53 mail postfix/smtpd[1014]: connect from domena_nadawcy.pl[tu
ip]
Jan  3 10:04:53 mail postfix/smtpd[1014]: 81CD268523:
client=domana_nadawcy.pl[tu ip]
Jan  3 10:04:53 mail postfix/cleanup[1021]: 81CD268523:
message-id=<20050103095653.X97856@domena_nadawcy.pl>
Jan  3 10:04:53 mail postfix/qmgr[995]: 81CD268523:
from=<radek@domena_nadawcy.pl>, size=916, nrcpt=1 (queue active)
Jan  3 10:04:53 mail postfix/smtpd[1014]: disconnect from
domena_nadacy.pl[tu ip]
Jan  3 10:04:53 mail postfix/sendmail[1024]: fatal: usage: sendmail [options]
Jan  3 10:04:54 mail postfix/pipe[1023]: 81CD268523: to=<user@domena.pl>,
relay=filter, delay=1, status=bounced (command line usage error. Command
output: sendmail: invalid option -- - sendmail: fatal: usage: sendmail
[options] )
Jan  3 10:04:54 mail postfix/cleanup[1021]: E634C68525:
message-id=<20050103090454.E634C68525@mail.domena.pl>
Jan  3 10:04:54 mail postfix/qmgr[995]: E634C68525: from=<>, size=2748,
nrcpt=1 (queue active)
Jan  3 10:04:54 mail postfix/qmgr[995]: 81CD268523: removed
Jan  3 10:04:58 mail postfix/smtp[1031]: E634C68525:
to=<radek@domena_nadawcy.pl>, relay=domena_nadawcy.pl[tu ip], delay=4,
status=sent (250 2.0.0 j038vHnj097891 Message accepted for delivery)
Jan  3 10:04:58 mail postfix/qmgr[995]: E634C68525: removed

i nadawca dostaje zwrotke

pytanie moje jest takie:
dlaczego mail przeskanowany nie dochodzi do adresata?
czy jest jakis blad w postfix-filter.sh ?
jesli juz uda sie tego maila dostarczyc dlaczego oba filtry nie chca
pracowac rownoczesnie?
czy moga byc dwa wpisy "-o content_filter=" ?

prosze o pomoc, wszystkiego dobrego w nowym roku, pozdrawiam
Radek




Reply to: