maildroprc, Antixrict, 04-Июл-07, 11:06 [смотреть все]Здраствуйте помогите найти ошибку. Задача такая чтобы при доставке письма оно прверялось dspam-ом если в базе поставлена 1. Вот мой maildroprc: SHELL="/bin/sh" SENDER=$1 `test -d $HOME$DEFAULT` if ($RETURNCODE!=0) { `mkdir -p -m 0700 $HOME$DEFAULT` `mkdir -m 0700 $HOME$DEFAULT/cur` `mkdir -m 0700 $HOME$DEFAULT/new` `mkdir -m 0700 $HOME$DEFAULT/tmp` } QUOTA="$MAILDIRQUOTA"'S' `maildirmake -q $QUOTA $HOME$DEFAULT` if ($LOGNAME ne "spam@nova.lv" && $LOGNAME ne "nospam@nova.lv") { DSPAM=`/etc/dspam/spam.pl $LOGNAME` if ($DSPAM eq "1" && $SIZE < 2048000) { xfilter "/usr/bin/dspam --user $LOGNAME --stdout --process --deliver=innocent,spam" if (/^X-DSPAM-Result: Spam/) { `test -d $HOME$DEFAULT/.Trash` if ($RETURNCODE!=0) { `/usr/bin/maildirmake $HOME$DEFAULT/.Trash` } to "$HOME$DEFAULT/.Trash" } else { to "$HOME$DEFAULT" } } else { to "$HOME$DEFAULT" } } if ($LOGNAME eq "spam@nova.lv") { DSPAM=`/etc/dspam/spam.pl $SENDER` if ($DSPAM eq "1" && $SIZE < 2048000) { xfilter "/usr/bin/dspam --user $SENDER --class=spam --source=error" } } if ($LOGNAME eq "nospam@nova.lv") { DSPAM=`/etc/dspam/spam.pl $SENDER` if ($DSPAM eq "1" && $SIZE < 2048000) { xfilter "/usr/bin/dspam --user $SENDER --class=innocent --source=error" } } Perl скрипт работает и выдаёт верные значения. Если запускать в ручную всё тоже работает.
|