Чтение журнала логов exim

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Rayman
ефрейтор
Сообщения: 61
Зарегистрирован: 2016-03-29 6:32:50
Откуда: Siberian

Чтение журнала логов exim

Непрочитанное сообщение Rayman » 2016-10-11 12:09:18

День добрый. Задача состоит из следующих параметров. Нужно читать определенную информацию из /var/log/exim4/mainlog. Либо чтобы складывалось в отдельный файл, или присылалось письмо на мыло админу или выводить отчет в html.

Код: Выделить всё

 дата - от кого отправили - кому прислали - названия вложений
Пробовал вариант со стандартным eximstats, но это совсем не то. Раз в сутки через cron отправляет полную инфу по почте. Может кто подскажет, как реализовать? Пример скрипта?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
xM
ст. лейтенант
Сообщения: 1316
Зарегистрирован: 2009-01-15 23:57:41
Откуда: Königsberg
Контактная информация:

Чтение журнала логов exim

Непрочитанное сообщение xM » 2016-10-11 13:54:14

В acl_mime (или где вы там вложения разбираете) сделайте log_write с этим набором данных и уникальным идентификатором типа COOLOG в начале строки, а потом grep по нему и mail по cron'у.
IT voodoo blog https://kostikov.co

Rayman
ефрейтор
Сообщения: 61
Зарегистрирован: 2016-03-29 6:32:50
Откуда: Siberian

Чтение журнала логов exim

Непрочитанное сообщение Rayman » 2016-10-14 11:33:57

xM писал(а):В acl_mime (или где вы там вложения разбираете) сделайте log_write с этим набором данных и уникальным идентификатором типа COOLOG в начале строки, а потом grep по нему и mail по cron'у.
можно по подробнее? какого вида должен быть скрипт? не особо разбираюсь. или есть примеры как это сделать?

Аватара пользователя
xM
ст. лейтенант
Сообщения: 1316
Зарегистрирован: 2009-01-15 23:57:41
Откуда: Königsberg
Контактная информация:

Чтение журнала логов exim

Непрочитанное сообщение xM » 2016-10-14 13:17:31

Rayman писал(а): не особо разбираюсь
Начинаете отсюда
http://citforum.ru/programming/shell/index.shtml
А потом man sh, man grep, man cron, man mail, man ...
IT voodoo blog https://kostikov.co

Rayman
ефрейтор
Сообщения: 61
Зарегистрирован: 2016-03-29 6:32:50
Откуда: Siberian

Чтение журнала логов exim

Непрочитанное сообщение Rayman » 2016-10-19 7:45:54

стандартный лог exim пишет в /var/log/exim4/mainlog. Но там не отображает пересланные вложения и например названия тем. в доке про log_selector отсылки про вложения и тему я не нашел. Где и что нужно прописать для отображения заданных параметров в журнале ексима?

Аватара пользователя
xM
ст. лейтенант
Сообщения: 1316
Зарегистрирован: 2009-01-15 23:57:41
Откуда: Königsberg
Контактная информация:

Чтение журнала логов exim

Непрочитанное сообщение xM » 2016-10-19 13:33:41

Rayman писал(а): log_selector
Я такого не писал
IT voodoo blog https://kostikov.co

Rayman
ефрейтор
Сообщения: 61
Зарегистрирован: 2016-03-29 6:32:50
Откуда: Siberian

Чтение журнала логов exim

Непрочитанное сообщение Rayman » 2016-10-25 5:55:10

Код: Выделить всё

acl_check_mime:
deny
                message = We do not accept attachments like: $mime_filename
                condition = ${if match
                {${lc:mime_filename}} \
                {\Ndraft\N}}
                decode = default
                log_message = forbidden attachment: filename=$mime_filename
                accept
Тогда в log пишет названия вложения которое не пропускается. Что нужно добавить чтобы писались все вложения, не только блокируемые?

Rayman
ефрейтор
Сообщения: 61
Зарегистрирован: 2016-03-29 6:32:50
Откуда: Siberian

Чтение журнала логов exim

Непрочитанное сообщение Rayman » 2016-10-25 11:42:42

Rayman писал(а):

Код: Выделить всё

acl_check_mime:
deny
                message = We do not accept attachments like: $mime_filename
                condition = ${if match
                {${lc:mime_filename}} \
                {\Ndraft\N}}
                decode = default
                log_message = forbidden attachment: filename=$mime_filename
                accept
Тогда в log пишет названия вложения которое не пропускается. Что нужно добавить чтобы писались все вложения, не только блокируемые?
Добавил, вложения теперь падают в логи:

Код: Выделить всё

warn
  log_message = Attachment. Content-type=$mime_content_type, filename=$mime_filename
accept
Но если отправлять файл на русском языке, то в логах беда с кодировкой..это как то можно исправить?

Код: Выделить всё

Warning: Attachment: content-type=text/plain, filename=\321\204\320\260\320\271\320\273.txt

Аватара пользователя
xM
ст. лейтенант
Сообщения: 1316
Зарегистрирован: 2009-01-15 23:57:41
Откуда: Königsberg
Контактная информация:

Чтение журнала логов exim

Непрочитанное сообщение xM » 2016-10-25 19:17:24

Rayman писал(а): Что нужно добавить чтобы писались все вложения, не только блокируемые?
Написать не deny, а warn.
IT voodoo blog https://kostikov.co

Rayman
ефрейтор
Сообщения: 61
Зарегистрирован: 2016-03-29 6:32:50
Откуда: Siberian

Чтение журнала логов exim

Непрочитанное сообщение Rayman » 2016-10-26 5:31:06

xM писал(а):Написать не deny, а warn.
А с кодировкой вложений на русском языке вопрос решается?

Код: Выделить всё

 filename=\321\204\320\260\320\271\320\273.txt

Аватара пользователя
xM
ст. лейтенант
Сообщения: 1316
Зарегистрирован: 2009-01-15 23:57:41
Откуда: Königsberg
Контактная информация:

Чтение журнала логов exim

Непрочитанное сообщение xM » 2016-10-26 17:33:07

Через iconv, скорее всего.
IT voodoo blog https://kostikov.co

Rayman
ефрейтор
Сообщения: 61
Зарегистрирован: 2016-03-29 6:32:50
Откуда: Siberian

Чтение журнала логов exim

Непрочитанное сообщение Rayman » 2016-10-28 5:49:11

xM писал(а):Через iconv, скорее всего.
Проблема решилась, добавлением в конфиг exim опции:

Код: Выделить всё

print_topbitchars = true