LINUX.ORG.RU
ФорумAdmin

Procmail: рассылка уведомлений об отложенной почте


0

0

Антивирус порой пропускает письма со спамом.
Поэтому используется procmail для перекладывания почты с подозрительными вложениями в отдельный файл. Получатель извещается о казусе. Состояние этого файла контролируется и админ о пополнении извещается также.
Сегодня выяснилось, что если получателей в "To:" было указано несколько, причем часть из них - не мои, то все равно все получили извещение о подозрительном вложении.

Чтобы этого избежать строка Recip=`formail -xTo:`
была изменена на
Recip=`formail -xTo:|egrep -o "[[:alnum:]]+anrb.ru"|tr "\n" ","|sed 's/,$//g'`
т.е. я выцарапываю всех получателей с моим доменом, а так как egrep -o выдаст результат построчно, то заменяю конец строки на запятую, а последнюю запятую вообще убираю.

Сейчас (т3р) все работает как надо кроме одного:
если моих получателей несколько, скажем, 3, то каждому из них предупредительное сообщение свалится 3 раза.
Как этого избежать?
То же самое происходит и в случае с алиасом:
если письмо с таким вложением пришло на adm, то предупреждение получает вся adm-группа по n раз.
И можно ли было Recip оформить правильнее, т.е. рациональнее?

/etc/procmailrc:
LOGFILE=/var/log/procmaillog

#Эти два пользователя получают всю почту:
:0
* ^To:.*someuser1@anrb.ru
/var/spool/mail/someuser1

:0
* ^To: someuser2@anrb.ru
/var/spool/mail/someuser2

:0 B c
*
^.+name="((.+card|access).exe|.+(elm|log|txt|msg|dat|log).(pif|scr|bat|exe|cmd) |(Update-KB.*|postcard|setup|video|.+story|setup|attachment|html).(exe|zip)|(doc ument|docs|doc|readme|test|body|message|messages|file|text|data|msg|Page|Mail|In formation|Html|Video_fragment|Notice).(zip|scr))"
/var/spool/mail/virus/virus

:0 A
* !^X-Loop: loop@loop.anrb.ru
{
SHELL=/bin/bash
Snd=`formail -xFrom:`
Recip=`formail -xTo:|egrep -o "[[:alnum:]]+@mail.anrb.ru"|tr "\n" ","|sed 's/,$//g'`

Subj=`formail -xSubject:`
Date=`formail -xDate:`
Att=`formail -xContent-Disposition:`
VERBOSE=on
LOGABSTRACT=all
LOGFILE=/var/log/suspic
:0i
| ( formail -rI"From: postmaster@anrb.ru" -I"To:$Recip" -I"Subject: Suspicious attachment in the mail for you."
-A"X-Loop: loop@loop.anrb.ru" ; date ; echo $Recip ; cat /etc/1251-1 ; echo $Snd ; cat /etc/1251-2 ; cat /etc/an1 ; echo
$Snd ; cat /etc/an2 ; cat /etc/en1 ; echo $Snd ; cat /etc/en2 ; echo $Att ; cat /etc/en3 ; ) | /usr/sbin/sendmail -t
}

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.