LINUX.ORG.RU

Сообщения packet81

 

Exim4, Фильтр содержимого письма с рикошетом пользователю.

Форум — Admin

Всех приветствую! Есть exim4.96 Всё работает штатно, никаких проблем. Неожиданно была поставлена задача: блокировать письма с вложениями типа - rar,zip,tar.. и т.д., дабы избежать запуска пользователями какого-нибудь шифровальщика. Ок. Гуглил, пока зенки не лопнули и по хилым знаниям сваял следующее: Файл фильтра .forward содержит:

# 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...\n" \
| mail -s "You have a new mail in quarantine!" "$1"

По итогу, если в письме есть содержимое «qqq» он перенаправляет это письмо на ящик blocked@мойдомен.ru и отправляет нужное сообщение реципиенту. Теперь не могу понять, почему работает фильтр только с одним локальным ящиком (например petya@мойдомен.ru)? Если отправлю на другой ящик типа vasya@мойдомен.ru - то фильтр не срабатывает и сразу шлет его Василию с содержимым «qqq». Нутром чую что проблема в ${local_part}@${domain} , но если меняю на ${recipient}, то пишет что неизвестная переменная. Получается ее надо прописать где-то в самом конфиге?

 , , ,

packet81
()

RSS подписка на новые темы