Задать вопрос
@Kirill-Gorelov
С ума с IT

Как распарсить логи почтового сервера?

Всем привет.
Есть почтовый сервер.
У него есть логи отправки писем(я кеп).
Суть вопроса: как читать эти логи через php скрипт.
что бы потом из того, что скрипт прочитает построить простую таблицу для наглядности?
Знаю, что есть bin скриты(которые читают их в "терминале", но это не то).
  • Вопрос задан
  • 1024 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
POS_troi
@POS_troi
СадоМазо Админ, флудер, троль.
Открываем файл средствами php ( file(); )
Читаем
Парсим регулярками
Выводим как душе угодно.
Ответ написан
darkkemper
@darkkemper
Programmer / Software Developer
Для успешного вычленения нужной информации из log-файла потребуется просто изучить его и составить регулярное выражение для извлечения нужных данных. Например, таким образом можно читать лог-файл почтового сервера exim и выбирать email отправителя и получателя:

$logs = file('log');

foreach($logs as $num => $line)
{
    /**
     * Регулярное выражение нужно делать по своему примеру
     */
    preg_match('/F=<(.*?)>.*?RCPT\s<(.*?)>/', $line, $recipient);

    if (isset($recipient[1]) && isset($recipient[2]))
    {
        echo "Sender: " . $recipient[1] . " Recipient: " . $recipient[2] . "\n";
    }
}

Из такого log-файла
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы