лог-файл работы почтового сервера
Лог-файлы размещаются в каталоге /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=<…> — адрес отправителя
[…] — сервер с которого производилась отправка далее идет текст ошибки.