лог-файл работы почтового сервера

Опубликовано:

Лог-файлы размещаются в каталоге /var/log/exim/:

  • текстовые файлы:
    exim_mainlog — текущий лог-файл работы почтового сервера
    exim_rejectlog — текущий лог-файл ошибок доставки корреспонденции
  • архивные файлы:
    exim_mainlog.0.gz —exim_mainlog.7.gz — архивы предыдущих лог-файлов работы почтового сервера
    exim_rejectlog.0.gz — exim_rejectlog.7.gz — архивы предыдущих лог-файловошибок доставки корреспонденции

Формат логов подробно описан в документации на exim. Основной сайт —www.exim.org.

Пример фрагмента лог-файла с подробной расшифровкой:
2004–04–13 07:38:59 1BDElF-0006fT-Jz@radiomayak.ru H=(interost.ru) [82.148.19.253] P=esmtp S=41294
2004–04–13 07:38:59 1BDElF-0006fT-Jz => alexey R=localuser T=local_delivery
2004–04–13 07:38:59 1BDElF-0006fT-Jz Completed

Первая строка — запись о принятии сообщения, на это указывают символы ’<=’.

Во всех записях первыми идут дата и время. Практически во всех записях далее идет внутренний идентификатор сообщения, здесь это 1BDElF-0006fT-Jz. Он одинаков для всех записей, относящихся к обработке одного и того же сообщения. Далее идет знак операции:
<= — прием
=> — доставка
— > — доставка за один прием сообщения на несколько адресов
== — сообщение отложено для последующей обработки из-за нефатальной ошибки
** — прекращение обработки из-за фатальной ошибки
Completed — обработка сообщения завершена.

В строках с знаком ’<=’:
сразу после знака идет адрес отправителя (аргумент SMTP команды MAIL FROM)
H=(…) — аргумент SMTP команды HELO или EHLO
[..] — IP адрес с которого принято сообщение
P=…. — протокол. Варианты:

  • smtp — SMTP, была дана команда HELO
  • esmtp — SMTP, была дана команда EHLO
  • asmtp — SMTP c авторизацией
  • local — сообщение передано локально — например вызовом команды sendmail из скрипта

S=… — размер сообщение в байтах
U=… — пользователь, от имени которого запускалась команда sendmail
R=… — идентификатор сообщения, в ответ на которое было порождено данное сообщение (обычно для сообщений об ошибке доставки)
id=… — собственный идентификатор сообщения (находится в заголовке Message-ID)

Таким образом, первая строка говорит о том, что 13 апреля в 07:38:59 с сервера 82.148.19.253, представившегося как interost.ru было принято сообщение размером 41294 байт с обратным адресом inform@radiomayak.ru.

В строках с знаком ’=>’ или ’->’:
сразу после знака идет адрес получателя. В случае локальной доставки перед ним идет имя почтового ящика.
R=… — название использовавшегося роутера. В наших типовых настройках это:

  • localuser — в локальный почтовый ящик
  • shadow_autorep — автоответчик с доставкой сообщения
  • regular_autorep — автоответчик без доставки
  • lookuphost — доставка на удаленный сервер, определяемый по MX записи.

T=… — название использовавшегося транспорта. В наших типовых настройках это:

  • local_delivery — в локальный почтовый ящик
  • remote_smtp — на удаленных сервер.
  • autoreply_pipe — один из автоответчиков
  • address_pipe — передача скрипту через email-alias
  • address_pipe — запись в файл через email-alias

H=… — имя сервера куда была осуществлена доставка по smtp
[…] — IP адрес этого сервера

Вторая строка вашего примера говорит о том, что это сообщение практически сразу было доставлено в локальный почтовый ящик alexey, соответствующий адресу alexey@interost.ru.

Третья строка отмечает дату и время завершения обработки письма.

Также бывают строки с записями об ошибке:

В строках с знаком ’==’ и ’**’:
адрес получателя

R=… — роутер
далее идет текст ошибки

Записи без идентификатора сообщения после даты и времени — это обычно ошибки при приеме сообщения. В них может быть следующая информация:
H=(…) — аргумент SMTP команды HELO или EHLO
F=<…> — адрес отправителя
[…] — сервер с которого производилась отправка далее идет текст ошибки.

Понравилась статья, расскажи о ней друзьям, нажми кнопку!