Всем доброе время суток. Нужна помощь и рекомендация по решению проблемы. Поиски особого результата не дали. Сам предполагаю, что проблема в синтаксисе второй строчки. Суть вопроса: требуется фильтром решить три вопроса 1-отклонять все письма с вложениями содержащими известные архивы 2-отповещать получающего пользователя отлупом о блокировке письма 3-редирект письма в ящик (помойку). Для это в секции "begin acl" добавил следующее:deny message = The attachment is not accepted. This message contains a blocked file type.
demime = *rar *zip *7z *gz *tar *gzip *bz2 *tbz *tbz2 *bzip2
condition = ${if def:mime_attachments {1}{0}}
log_message = Rejected message with a blocked file type attachment
headers = X-Blocked-Attachment: The attachment is not accepted
headers_add = X-Blocked-Reason: This message contains a blocked file type.
freeze
redirect = admin@yourdomain.comЛогика вроде правильная, а вот с синтаксисом у меня вообще проблема. Было бы хорошо решить этот вопрос без подключения доп. модулей. Прошу подсказать.
acl_check_mime:
deny
message = We do not accept attachments : $mime_filename
condition = ${if match{$mime_filename}{\N\.(rar|zip|7zip|gz|bz2|bzip2)$\N}}
decode = default
accept
>[оверквотинг удален]
> deny
>
> message
> = We do not accept attachments : $mime_filename
>
> condition
> = ${if match{$mime_filename}{\N\.(rar|zip|7zip|gz|bz2|bzip2)$\N}}
>
> decode = default
> acceptПрошу уточнить, разница в написании rar|zip|7zip|gz|bz2|bzip2 и \.rar|\.zip|\.7zip|\.gz|\.bz2|\.bzip2 - есть или exim нормально проглатывает такое написание?
> Прошу уточнить, разница в написании rar|zip|7zip|gz|bz2|bzip2
> и \.rar|\.zip|\.7zip|\.gz|\.bz2|\.bzip2 - есть или exim нормально
> проглатывает такое написание?Я делал через вертикалбную черту. Сам вариант нагуглил, так было в оригинале.
>> Прошу уточнить, разница в написании rar|zip|7zip|gz|bz2|bzip2
>> и \.rar|\.zip|\.7zip|\.gz|\.bz2|\.bzip2 - есть или exim нормально
>> проглатывает такое написание?
> Я делал через вертикалбную черту. Сам вариант нагуглил, так было в оригинале.С написание расширений разобрался, спасибо. Осталось разобраться, почему не хавает строчки:
headers = X-Blocked-Attachment: The attachment is not accepted
headers_add = X-Blocked-Reason: This message contains a blocked file type.
freeze
redirect = admin@yourdomain.com
вместо redirect я бы использовал unseen deliver mybox@domain.com
про остальные - надо пробовать, у меня пока негде...
> вместо redirect я бы использовал unseen deliver mybox@domain.com
> про остальные - надо пробовать, у меня пока негде...Приветствую! Сделал вот такой фильтр:
# Exim filter
if $message_body contains "qqq"
then
deliver "blocked@мойдомен.ru"
pipe "/home/папка/blockedmail.sh ${local_part}@${domain} ${message_id}"
seen finish
endifСам исполняемый файл:
#!/bin/sh
echo "Your email has been blocked due to violation of our terms of service.\n[$1]\nMessage ID:[$2]\nSender..."
| mail -s "You have a new mail in quarantine!" "$1"
По итогу, если в письме есть содержимое "qqq" он перенаправляет это письмо на ящик blocked@мойдомен.ru и отправляет нужное сообщение реципиенту.
Теперь не могу понять, почему работает фильтр только с одним локальным ящиком (например petya@мойдомен.ru)? Если отправлю на другой ящик типа vasya@мойдомен.ru - то фильтр не срабатывает.