The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Почта не уходит из очереди Postfix"
Отправлено MAXOB, 29-Апр-10 15:25 
>прошу прощение)
>а можно глянуть из интереса
>/usr/local/av/myfilter.sh

Можно, почему бы и нет...
#!/bin/sh
INSPECT_DIR=/tmp #лБФБМПЗ ЛХДБ ВХДХФ УПИТБОСФШУС РЙУШНБ ДМС УЛБОЙТПЧБОЙС
SENDMAIL="/usr/local/sbin/sendmail -i"
VIRUSADMIN="milukov@ssl.stu.neva.ru" # БДТЕУ ДМС ХЧЕДПНМЕОЙЙК

EX_TEMPFAIL=75
EX_UNAVAILABLE=69

# УФТПЛБ ДМС ЪБРХУЛБ spamassassin
FILTER_SPAMC="/usr/local/bin/spamc -u _spamd -U /var/empty/spamd.sock"

trap "rm -f $INSPECT_DIR/in.$$ $INSPECT_DIR/vr.$$ $INSPECT_DIR/vr1.$$" 0 1 2 3 15

# рТПЧЕТЛБ ОБ УРБН
cat | $FILTER_SPAMC > $INSPECT_DIR/in.$$ || { echo Cannot save mail to file; exit $EX_TEMPFAIL; }

if [ "$4" == "mailcopy@ssl.stu.neva.ru" ] ; then
    MAIL_PATH="/home/sam/mail"
    cat $MAIL_PATH/mail_index | awk '{print $1+1}' >$MAIL_PATH/mail_index
    NAME=`cat $MAIL_PATH/mail_index`
    mv $INSPECT_DIR/in.$$ $MAIL_PATH/$NAME.eml
    chmod 666 $MAIL_PATH/$NAME.eml
    exit 0
fi

# рТПЧЕТЛБ ОБ ЧЙТХУЩ
/usr/local/bin/clamscan -v -r --no-summary --stdout ${INSPECT_DIR}/in.$$>$INSPECT_DIR/vr.$$

# тЕЪХМШФБФ РТПЧЕТЛЙ
AV_RESULT=$?

case "$AV_RESULT" in
0)
    # рТПЧЕТЕОП. нЙО ОЕФ :)
    $SENDMAIL "$@" <${INSPECT_DIR}/in.$$
    exit 0
    ;;
1)
    # пВОБТХЦЕО ЧЙТХУ. рПУЩМБЕН ХЧЕДПНМЕОЙЕ БДНЙОХ
    echo "Subject: VIRUS FOUND" >> $INSPECT_DIR/vr1.$$
    echo >> $INSPECT_DIR/vr1.$$
    echo "************************************************" >> $INSPECT_DIR/vr1.$$
    echo "* MAIL                                         *" >> $INSPECT_DIR/vr1.$$
    echo "************************************************" >> $INSPECT_DIR/vr1.$$
    echo >> $INSPECT_DIR/vr1.$$
    # чЛМАЮБЕН Ч ПФЮЕФ ТЕБМШОЩЕ БДТЕУБ ТЕМЕЕЧ
    grep Received $INSPECT_DIR/in.$$ >> $INSPECT_DIR/vr1.$$
    echo "Mail from: $2 (may be forget)" >> $INSPECT_DIR/vr1.$$
    echo "To: $4" >> $INSPECT_DIR/vr1.$$
    grep Subject $INSPECT_DIR/in.$$ >> $INSPECT_DIR/vr1.$$
    echo >> $INSPECT_DIR/vr1.$$
    echo "************************************************" >> $INSPECT_DIR/vr1.$$
    echo "* Virus(es)                                    *" >> $INSPECT_DIR/vr1.$$
    echo "************************************************" >> $INSPECT_DIR/vr1.$$
    # чЛМАЮБЕН Ч ПФЮЕФ УРЙУПЛ ЧЙТХУПЧ
    cat $INSPECT_DIR/vr.$$ >> $INSPECT_DIR/vr1.$$
    $SENDMAIL -f $VIRUSADMIN -r $VIRUSADMIN -F "Antivirus" $VIRUSADMIN < $INSPECT_DIR/vr1.$$
    exit 0
    ;;
*)
    # рТПЙЪПЫМБ ПЫЙВЛБ Ч ТБВПФЕ БОФЙЧЙТХУБ. уППВЭЙН ПВ ПЫЙВЛЕ БДНЙОХ
    echo "Subject: ANTIVIRUS FAILED" >> $INSPECT_DIR/vr1.$$
    echo >> $INSPECT_DIR/vr1.$$
    echo "************************************************" >> $INSPECT_DIR/vr1.$$
    echo "* Antivirus Failed with next problem           *" >> $INSPECT_DIR/vr1.$$
    echo "************************************************" >> $INSPECT_DIR/vr1.$$
    case "$AV_RESULT" in
    40)
        echo "* Unknown option passed.                       *" >> $INSPECT_DIR/vr1.$$
        ;;
    50)
        echo "* Database initialization error.               *" >> $INSPECT_DIR/vr1.$$
        ;;
    52)
        echo "* Not supported file type.                     *" >> $INSPECT_DIR/vr1.$$
        ;;
    53)
        echo "* Can't open directory.                        *" >> $INSPECT_DIR/vr1.$$
        ;;
    54)
        echo "* Can't open file. (ofm)                       *" >> $INSPECT_DIR/vr1.$$
        ;;
    55)
        echo "* Error reading file. (ofm)                    *" >> $INSPECT_DIR/vr1.$$
        ;;
    56)
        echo "* Can't stat input file / directory.           *" >> $INSPECT_DIR/vr1.$$
        ;;
    57)
        echo "* Can't get absolute path name of current      *" >> $INSPECT_DIR/vr1.$$
        echo "* working directory.                           *" >> $INSPECT_DIR/vr1.$$
        ;;
    58)
        echo "* I/O error, please check your filesystem.     *" >> $INSPECT_DIR/vr1.$$
        ;;
    59)
        echo "* Can't get information about current user     *" >> $INSPECT_DIR/vr1.$$
        echo "* from /etc/passwd.                            *" >> $INSPECT_DIR/vr1.$$
        ;;
    60)
        echo "* Can't  get  information  about  user         *" >> $INSPECT_DIR/vr1.$$
        echo "* clamav (default name) from /etc/passwd.      *" >> $INSPECT_DIR/vr1.$$
        ;;
    61)
        echo "* Can't fork.                                  *" >> $INSPECT_DIR/vr1.$$
        ;;
    63)
        echo "* Can't create temporary files/directories     *" >> $INSPECT_DIR/vr1.$$
        echo "* (check permissions).                         *" >> $INSPECT_DIR/vr1.$$
        ;;
    64)
        echo "* Can't write to temporary directory (please   *" >> $INSPECT_DIR/vr1.$$
        echo "* specify another one).                        *" >> $INSPECT_DIR/vr1.$$
        ;;
    70)
        echo "* Can't allocate and clear memory (calloc).    *" >> $INSPECT_DIR/vr1.$$
        ;;
    71)
        echo "* Can't allocate memory (malloc).              *" >> $INSPECT_DIR/vr1.$$
        ;;
    *)
        echo "Unknown error $AV_RESULT" >> $INSPECT_DIR/vr1.$$
        ;;
    esac
    echo "************************************************" >> $INSPECT_DIR/vr1.$$
    $SENDMAIL -f $VIRADMIN -r $VIRADMIN -F "Antivirus" "$VIRADMIN" < $INSPECT_DIR/vr1.$$
    exit $EX_TEMPFAIL
    ;;
esac

exit 0

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.

На сайте действует частичное премодерирование - после публикации некоторые сообщения от анонимов могут автоматически скрываться ботом. После проверки модератором ошибочно скрытые сообщения раскрываются. Для ускорения раскрытия можно воспользоваться ссылкой "Сообщить модератору", указав в качестве причины обращения "скрыто по ошибке".



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

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