The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"maildroprc"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"maildroprc"  
Сообщение от Antixrict email(??) on 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 скрипт работает и выдаёт верные значения. Если запускать в ручную всё тоже работает.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

  • maildroprc, magr, 11:40 , 04-Июл-07, (1)  

Сообщения по теме [Сортировка по времени, UBB]


1. "maildroprc"  
Сообщение от magr email(??) on 04-Июл-07, 11:40 

>
>Perl скрипт работает и выдаёт верные значения. Если запускать в ручную всё
>тоже работает.

во-первых, можно пойти по пути упрощения и оставить пару простых строк, проверяющих на спам безо всяких условий -- работает ли

во-вторых, для отладки можно поставить в начале скрипта
VERBOSE="4"
настроить сислог писать логи в /var/log/maildrop.log

и выводить также туда значения переменных (внутри скрипта добавляя):
`echo $HOME$DEFAULT  >> /var/log/maildrop.log`

и т.д.

P.S. Директиву xfilter возможно лучше использовать в виде

    log " running message through spam engine $LOGNAME"
    exception {
        xfilter .....
    }

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру