LINUX.ORG.RU
ФорумAdmin

Логирование EXIM

 , , , ,


0

1

Всем привет. Не могли бы вы подсказать, есть ли возможность в exim реализовать следующее: Создать отдельный так называемый лог-файл журналирования почты с заданными мне параметрами. Например(дата-от кого-кому-вложение), т.е. не искать нужную мне информацию в mainlog. Какими средствами такое можно реализовать? Написанием какого - либо скрипта?



Последнее исправление: Rayman24 (всего исправлений: 1)

К сожалению exim писали программисты... Поэтому с логированием там все очень плохо.

Но конкретно такую узкую задачу решить можно. Я бы вставил вызов своего скрипта на acl_smtp_quit или воткнулбы в цепочку router

Ещё один чит использование log_message. С помощью этой штуки можно записать что-нибудь в mainlog, а потом грепануть ко ключевому слову.

zloelamo ★★★★
()
Ответ на: комментарий от zloelamo

;) попытался представить программу которую написал не программист

а по существу, греп по логам с ключевыми словами и временем

anonymous
()
Ответ на: комментарий от anonymous

Там не такие строгие и красивые логи, как в postfix. Конечно awk рулит, но такие многоходвки получаются, что просто беда.

zloelamo ★★★★
()
Ответ на: комментарий от fbiagent

Eximon, как я понял отображает только в реальном времени и запись не ведет. А нужен до боли простой журнал, «от кого-кому-когда». Есть ли уже написанные скрипты по данному вопросу? поиск результатов не дал:(

Rayman24
() автор топика

Создать отдельный так называемый лог-файл журналирования почты

log_file_path = /var/log/exim/%slog

Например(дата-от кого-кому-вложение), т.е. не искать нужную мне информацию в mainlog.

man log_selector
log_selector = -lost_incoming_connection -reject -tls_cipher +delivery_size +sender_on_delivery +received_recipients

с названием файлов во вложениях log_message с, например, $mime_filename

bass ★★★★★
()
Последнее исправление: bass (всего исправлений: 1)
Ответ на: комментарий от Rayman24

это прописывается все в конфиге exim

Да, настройки exim прописываются в конфигах exim.

http://www.exim.org/exim-html-current/doc/html/spec_html/ch-main_configuratio...

http://www.exim.org/exim-html-current/doc/html/spec_html/ch-log_files.html#SE...

bass ★★★★★
()
Последнее исправление: bass (всего исправлений: 1)
Ответ на: комментарий от bass

bass, делаю вот так. в файле /etc/exim4/conf.d/main/90_exim-config_log_selector добавляю след.строки

.ifdef MAIN_LOG_SELECTOR
log_file_path = /var/log/exim4/%slog
log_selector = -lost_incoming_connection -reject -tls_cipher +delivery_size +sender_on_delivery +received_recipients
.endif

#service exim4 restart выдает:

unknown log_selector setting: -reject

Как я понимаю, настройки я указал в верном месте конфига Exim.

Rayman24
() автор топика
Ответ на: комментарий от Rayman24

Перевожу: параметра reject не существует.
Поскольку ты не указываешь свою версию exim, то считаем current stable и существующие параметры указаны по второй ссылке в моём предыдущем сообщении.

bass ★★★★★
()
Ответ на: комментарий от fbiagent

в eximon информация автоматом должна добавляться? т.к. при запуске просто пустые таблицы выдает

Rayman24
() автор топика
Ответ на: комментарий от bass

bass,

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 пишет названия вложений которое не пропускается. Что нужно добавить чтобы писались все вложения, не только блокируемые?

Rayman24
() автор топика
Ответ на: комментарий от bass

bass, добавил эти значения вот так:

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 
warn
  log_message = Attachment. Content-type=$mime_content_type, filename=$mime_filename
accept
В логе появились строки с вложенным файлом report.html, но так же отображается почему то три строчки «content-type»?

2016-10-25 06:02:19 Start queue run: pid=11112
2016-10-25 06:02:19 End queue run: pid=11112
2016-10-25 06:03:09 1byoGr-0002ts-8d H=astra.domain.ru [192.168.0.2] Warning: Attachment: content-type=multipart/mixed, filename=
2016-10-25 06:03:09 1byoGr-0002ts-8d H=astra.domain.ru [192.168.0.2] Warning: Attachment: content-type=text/plain, filename=
2016-10-25 06:03:09 1byoGr-0002ts-8d H=astra.domain.ru [192.168.0.2] Warning: Attachment: content-type=text/html, filename=report.html
2016-10-25 06:03:09 1byoGr-0002ts-8d <= test@domain.ru H=astra.domain.ru [192.168.0.2] P=esmtpa A=dovecot_plain:test S=6156 id=580E932D.4000205@domain.ru T="Tema" from <test@domain.ru> for asd@domain.ru
2016-10-25 06:03:09 1byoGr-0002ts-8d => asd <asd@domain.ru> R=local_user T=maildir_home S=6260
2016-10-25 06:03:09 1byoGr-0002ts-8d Completed

Если отправлять файл на русском языке, то в логах беда с кодировкой..это как то можно исправить?

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

Rayman24
() автор топика
Ответ на: комментарий от Rayman24

Вот тут структура электронного письма в картинках
http://net.e-publish.ru/p55aa1.html

а тут, в документации к exim параграф 44.4 Scanning MIME parts
как с этим управляться на практике.

p.s. выводи в лог, если filename не пустой

bass ★★★★★
()
Последнее исправление: bass (всего исправлений: 1)
Ответ на: комментарий от bass

так и так название файла отображается в логе, только в неправильной кодировке. На латинице, то вложения показывает. Что выводить тогда?

Rayman24
() автор топика
Ответ на: комментарий от bass

хмм...в конфиге exim, такого параметра вообще не нахожу. Или нужно добавлять в этой строчке, типа этого?

 log_message = Attachment. Content-type=$mime_content_type,Content-type: text/plain, charset=utf-8 filename=$mime_filename 
Rayman24
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.