Всем привет.
На exim4 версии 4.89 настроена проверка на вирусы средствами clamav:drop
message = Found virus $malware_name
log_message = Found virus $malware_name
hosts = *
malware = *и работает:
2017-09-08 14:00:25 1dqCKz-0001mf-0G H=(c03) [89.46.67.116] F=<admin@dealer.com> rejected after DATA: Found virus Email.Phishing.VOF1-6297424-0Но хотелось бы получить письмо-уведомление на postmaster об это инциденте.
Как это сделать средствами exim?
Main partsystem_filter = /etc/exim/my_sys_filter
system_filter_user = exim
system_filter_file_transport = address_fileacl
drop set acl_c_VIRUS = 1
message = Found virus $malware_name
log_message = Found virus $malware_name
hosts = *
malware = *
filter
/etc/exim/my_sys_filter# Exim filter
headers charset "utf8"
if $acl_c_VIRUS is 1
then
mail to admin@xxx.com\r\n
from "user@xxx.com"\r\n
subject "Returned mail: see transcript for details"\r\n\
extra_headers "Content-Type: text/plain;charset=utf-8\r\n\
text "Mail returned because user ....\r\n\"
finish
endif>[оверквотинг удален]
> $malware_name
> log_message = Found virus $malware_name
> hosts =
> *
> malware = *
> и работает:
> 2017-09-08 14:00:25 1dqCKz-0001mf-0G H=(c03) [89.46.67.116] F=<admin@dealer.com> rejected
> after DATA: Found virus Email.Phishing.VOF1-6297424-0
> Но хотелось бы получить письмо-уведомление на postmaster об это инциденте.
> Как это сделать средствами exim?
Поскольку drop, этот способ никогда не сработает.
Второй вариант
Напиши демона на bash (или какой у тебя shell)
и парси лог в реальном времениwhile true
do
tail -F --max-unchanged-stats=5 main.log | \
grep --line-buffered -E "Found virus " | mail -s "VIRUS FOUND" admin@xxx.com
done>[оверквотинг удален]
> $malware_name
> log_message = Found virus $malware_name
> hosts =
> *
> malware = *
> и работает:
> 2017-09-08 14:00:25 1dqCKz-0001mf-0G H=(c03) [89.46.67.116] F=<admin@dealer.com> rejected
> after DATA: Found virus Email.Phishing.VOF1-6297424-0
> Но хотелось бы получить письмо-уведомление на postmaster об это инциденте.
> Как это сделать средствами exim?
>парси лог в реальном времениЯ хотел средствами exim4, и сделал через exim-овский perl_startup